小编chr*_*oss的帖子

评估data.table的大小比data.frame快

有人可以帮我评估使用data.table的数据框的大小,搜索速度更快吗?在我的用例中,数据框将是24,000行和560,000行.总共挑出40行的块以供进一步使用.

示例:DF是一个包含120行,7列(x1到x7)的数据帧; "string"占据x1的前40行.

DF2是DF => 120,000行的1000倍

对于DF data.table的大小较慢,对于DF2的大小,它更快.

码:

> DT <- data.table(DF)
> setkey(DT, x1)
> 
> DT2 <- data.table(DF2)
> setkey(DT2, x1)
> 
> microbenchmark(DF[DF$x1=="string", ], unit="us")
Unit: microseconds
                    expr     min       lq   median       uq     max neval
 DF[DF$x1 == "string", ] 282.578 290.8895 297.0005 304.5785 2394.09   100
> microbenchmark(DT[.("string")], unit="us")
Unit: microseconds
            expr      min       lq  median      uq      max neval
 DT[.("string")] 1473.512 1500.889 1536.09 1709.89 6727.113   100
> 
> 
> microbenchmark(DF2[DF2$x1=="string", ], unit="us")
Unit: microseconds
                      expr     min       lq   median       uq …
Run Code Online (Sandbox Code Playgroud)

r data.table

10
推荐指数
1
解决办法
433
查看次数

标签 统计

data.table ×1

r ×1