Categories
读书有感

R vs Python: data frame和高速数据整理

由于种种的原因,我的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

话说,谁来进一步搞一下稀疏矩阵啊?我现在对这货比较依赖...

Categories
日常应用

据说是R 2014年最重要的发明...

今儿听Hadley大人做training,才第一次好好去看pipe这个东西...以前有点印象,主要是R会上有人讲过,当时只是记住了一个名词。今儿才有机会好好的去看看去想一想。(吐槽:R有的时候是不是太灵活了...)

pipe的广告语: the pipe operator is one (if not THE) most important innovation introduced, this year, to the R ecosystem. 听起来挺神奇的,好像是从F#那里搬过来的....R果然是耐揉。

短短的历史就是,随着Hadley大人搞定了dplyr,MAGRITTR 这个包开始浮出水面,各种热门...

然后果然COS上有人介绍过,Ren Kun童鞋早已经进一步弄好了一个pipeR包可以玩:http://cos.name/2014/04/use-pipeline-operators-in-r/

然后再去看今年5月份北京R会议的slides...原来这么赞(可是当时我明明在北京呀,当时干嘛去了...总是这么后知后觉)。

然后COS论坛上果然早早就有讨论了,这群geek...

没了,我要好好学习去了,R永远是个学不完的东西啊啊啊啊!三观总是不时被重新颠覆一次,唉。