use*_*795 13 r data.table
我只是花了一些时间研究data.tableR,并且想知道我可以期待最大性能提升的条件.也许简单的答案是当我有一个大型data.frame并经常在这个data.frame的子集上运行.当我只是加载数据文件和估计模型时,我不能期望太多,但许多[操作会产生差异.这是真的吗,唯一的答案还是我应该考虑什么?什么时候开始重要?10x5,1,000x5,1,000,000x5?
编辑:一些评论表明,这data.table通常更快,同样重要,几乎从不慢.因此,知道何时不使用也是一件好事data.table.
Ari*_*man 10
至少有几个案例data.table闪耀:
data.table是参考,所以速度更快.以下是一些基准测试:对data.frame(base),data.frame(包数据帧)和data.table进行基准 测试
data.table快速发展的一个例子就是分裂 - 应用 - 组合类型的工作,这种工作plyr很有名.假设您拥有data.frame以下数据:
precipitation time station_id
23.3 1 A01
24.1 2 A01
26.1 1 A02
etc etc
Run Code Online (Sandbox Code Playgroud)
当你需要每站ID来平均,您可以使用R里面的函数,例如主机ave,ddply或data.table.如果增加的独特元素的数量station_id,data.table鳞片真的很好,而例如ddply得到真的很慢.更多详细信息,包括示例,可以在我的博客上的这篇文章中找到.该测试表明速度增加超过150倍是可能的.这种差异可能会大得多......