我正在使用DT :: datatable()可视化R markdown文件中的表。
# R markdown file
library(DT)
```{r viewdata}
# this is an example but my actual dataset has 10000 rows and 100 columns
var.df <- data.frame(x = rnorm(1:10000), y = rnorm(1:10000),...)
DT::datatable(data = var.df)
```
Run Code Online (Sandbox Code Playgroud)
运行此代码时,我收到警告,并且生成的HTML加载速度非常慢:
DT::datatable(var.df)
Warning message:
In instance$preRenderHook(instance) :
It seems your data is too big for client-side DataTables. You may consider server-side processing: http://rstudio.github.io/DT/server.html
Run Code Online (Sandbox Code Playgroud)
我知道其中有一个server = TRUE/FALSE
选项DT::renderDataTable()
,但是我看不到任何服务器选项DT::datatable
。
如何使用服务器端处理DT::datatable()
?
警告消息显示:
对于客户端数据表来说,您的数据似乎太大了。您可以考虑服务器端处理:http://rstudio.github.io/DT/server.html
在文档网站上,它显示了一个 Shiny 示例,它使用DT::renderDataTable()
. 要使用服务器端处理模式,首先必须有一个“服务器”。DT::datatable()
只生成一个静态 HTML 小部件,并且其背后没有服务器。所有数据都存在于您的网络浏览器中并由您的网络浏览器处理。
Shiny 不是DT唯一可能的服务器,但可能是最方便的服务器(除非您真正了解服务器端处理背后的技术细节)。要将 Shiny 与 R Markdown 一起使用,请参阅《R Markdown》一书的第 19 章。这是一个例子:
---
title: "The server-side processing mode for DT in R Markdown"
runtime: shiny
output: html_document
---
```{r}
DT::renderDT(ggplot2::diamonds)
```
Run Code Online (Sandbox Code Playgroud)