0

我喜欢DT包的功能,它解决了我的大部分问题。与之前的相比,我注意到的一件事是使用DT::renderDataTable时非常慢filter=top。我知道它必须收集因子列和日期列的值,但没有达到目的。感觉就像我必须在这些附加功能与呈现页面的速度之间做出选择。

这是正常的还是有任何其他方法可以提高在使用带有 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 个级别的因子列转换为字符格式并改进了渲染。渲染时间从 40 t0 6 秒下降

4

0 回答 0