我喜欢DT
包的功能,它解决了我的大部分问题。我注意到DT::renderDataTable
与前一个相比,有一点是使用filter=top
时非常慢。我知道它必须收集因子列和日期列的值,但是却打败了目的。感觉我必须在这些附加功能与渲染页面的速度之间进行选择。
这是正常的,还是有其他方法可以提高渲染页面的速度,同时使用DT with filter = top?
注意:我在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个级别的任何因子列转换为字符格式并改进了渲染。渲染时间从40 t0 6secs下降