R/DT慢
我喜欢R/DT慢,r,shiny,dt,R,Shiny,Dt,我喜欢DTpackage的特性,它解决了我的大部分问题。与前一个相比,我注意到DT::renderDataTable使用filter=top时速度非常慢。我知道它必须收集factor列和date列的值,但这不符合目的。感觉上,我必须在这些附加功能和呈现页面的速度之间做出选择 这是正常的,还是在使用filter=top的DT时有其他方法可以提高页面的呈现速度 注意:我在32列350k行数据表上使用了这个 以下是rb的结构: Classes ‘data.table’ and 'data.frame'
DT
package的特性,它解决了我的大部分问题。与前一个相比,我注意到DT::renderDataTable
使用filter=top
时速度非常慢。我知道它必须收集factor列和date列的值,但这不符合目的。感觉上,我必须在这些附加功能和呈现页面的速度之间做出选择
这是正常的,还是在使用filter=top的DT时有其他方法可以提高页面的呈现速度
注意:我在32列350k行数据表上使用了这个
以下是rb的结构:
Classes ‘data.table’ and 'data.frame': 357574 obs. of 32 variables:
$ 1col : chr "00000001175" "00001050760" "00002020102" "00002050202" ...
$ 2col : Factor w/ 6 levels
$ 3col : Factor w/ 22116 levels
$ 4col : Factor w/ 4 levels
$ 5col : Factor w/ 22 levels
$ 6col : Factor w/ 11 levels
$ 7col : Factor w/ 2 levels
$ 8col : Factor w/ 7 levels
$ 9col : Factor w/ 2 levels
$ 10col: Factor w/ 2 levels
$ 11col: Factor w/ 114 levels
$ 12col: Factor w/ 2 levels
$ 13col: Factor w/ 258 levels
$ 14col: Factor w/ 27 levels
$ 15col: Factor w/ 32 levels
$ 16col: Factor w/ 314 levels
$ 17col: Factor w/ 2751 levels
$ 18col: Factor w/ 7 levels
$ 19col: Factor w/ 3952 levels
$ 20col: Factor w/ 4 levels
$ 21col: Factor w/ 5389 levels
$ 22col: Factor w/ 11 levels
$ 23col: Factor w/ 27 levels
$ 24col: Factor w/ 22 levels
$ 25col: Factor w/ 2491 levels
$ 26col: Factor w/ 113 levels
$ 27col: Factor w/ 258 levels
$ 28col: Factor w/ 32 levels
$ 29col: Factor w/ 6 levels
$ 30col: chr "ABC" "CDE"
$ 31col: Factor w/ 2679 levels
$ 32col: Factor w/ 8333 levels
作为一个测试,我将上面任何超过100个级别的factor列转换为字符格式,从而改善了渲染效果。渲染时间从40秒减少到6秒最初渲染表的速度慢,还是在与表交互时,表的响应速度慢?速度有多慢?如果没有
filter=top
渲染表格需要1秒,而使用filter=top
大约需要40秒。您提供了一个可复制的示例吗?我看不出这个例子有多慢:d=as.data.frame(矩阵(rnorm(32*350000),ncol=32));图书馆(闪亮);图书馆(DT);shinyApp(ui=fluidPage(dataTableOutput('foo')),server=function(input,output){output$foo=renderDataTable(d,filter='top')})
以下是我在server.R文件中使用的语句:output$table1请发布一个最小、自包含且可复制的示例(就像我在前面的评论中所做的那样),而不是片段(您可以编辑您的文章以包含示例)。因为我不知道什么是
rb,所以我无法重现您的问题。