由于种种的原因,我的feedly里面很多东西很久没看了...今儿抽时间看来一下,貌似是十一月份的热点是dplyr, data.table或者说,data.frame高速操作的各种办法。
http://www.r-bloggers.com/dplyr-and-a-very-basic-benchmark/
这里有有个蛮有意思的比较,抄过来:
base | dplyr-df | dplyr-dt | dplyr-dt-k | dt | dt-k | |
---|---|---|---|---|---|---|
Filter筛选 | 2 | 1 | 1 | 1 | 1 | 1 |
Sort排序 | 30-60 | 20-30 | 1.5-3 | [1] | 1.5-3 | [1] |
New column加列 | 1 | 1 | (6) 4 | (6) 4 | (4) 1 | (4) 1 |
Aggregation加总 | 8-100 | 4-30 | 4-6 | 1.5 | 1.5-5 | 1 |
Join合并 | >100 | 4-15 | 4-6 | 1.5-2.5 | - | 1 |
从base的最基本函数,到dplyr+data.frame, 到dplyr+data.table,到dplyr+data.table+key,挺神奇的...我一直比较依赖的数据整理的包有两个:plyr和data.table,现在终于看到一丝更加有效率的曙光了。顺便作者还和pandas比了一下...这是为了杜绝我多用python的决心么?我一直试图努力的多用一点python,看来越来越不可能了...
pandas | data.table | |
---|---|---|
Aggregate | 1.5 | 1 |
Aggregate (keys/pre-sorted) | 0.4 | 0.2 |
Join | 5.9 | - |
Join (keys/pre-sorted) | 2.1 | 0.5 |
Creating keys (sort) | 3.7 | 0.7 |
话说,谁来进一步搞一下稀疏矩阵啊?我现在对这货比较依赖...
One reply on “R vs Python: data frame和高速数据整理”
喜欢python的整洁。每次看到r的函数就有一种想死的心。