Любой «большой» фрейм данных приводит к сбою пакета R DataTable - есть ли решение? - PullRequest
2 голосов
/ 08 июля 2019
library(DT)
library(nycflights13)
datatable(flights)
#> Warning message:
#> In instance$preRenderHook(instance) :
#>   It seems your data is too big for client-side DataTables.
#>   You may consider server-side processing:
#>   https://rstudio.github.io/DT/server.html

Когда я запускаю приведенный выше код, R Studio зависает, очевидно, зависает, потому что фрейм данных nycflights13::flights слишком велик для пакета DT.

Я нашел этот вопрос stackoverflow, который предлагает обернуть все в renderDataTable({}) как решение, но это, похоже, ничего не помогает. Я даже правильно упаковываю вещи?

renderDataTable({flights})
renderDataTable({datatable(flights)})

Какое решение?

Ответы [ 2 ]

1 голос
/ 08 июля 2019

Мне показалось, что это работает:

library(DT)
library(data.table)
library(nycflights13)
TEST<-as.data.frame(flights)
TEST<-setDT(TEST)
class(TEST)
0 голосов
/ 12 июля 2019

Вам необходимо запустить блестящий (или другой) сервер.За ответ Ихуэй здесь .

---
title: "The server-side processing mode for DT in R Markdown"
runtime: shiny
output: html_document
---

```{r}
library(DT)
library(nycflights13)
renderDT(flights)
```
...