python与R相比速度要快。python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。Python=R+SQL/Hive

R的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面(主要用在金融分析与趋势预测)无论是经典还是前沿的方法都有相应的包直接使用;相比python在这方面贫乏不少。

Python的优势在于其胶水语言的特性,一些底层用C写的算法封装在python包里后性能非常高效(Python的数据挖掘包Orange canve 中的决策树分析50万用户10秒出结果,用R几个小时也出不来,8G内存全部占满)。

总的来说Python是一套比较平衡的语言,各方面都可以,而R是在统计方面比较突出。但是数据分析其实不仅仅是统计,前期的数据收集,数据处理,数据抽样,数据聚类,以及比较复杂的数据挖掘算法,数据建模等等这些任务,只要是100M以上的数据,R都很难胜任,但是Python却基本胜任。

补充一下:
Python有专门的数据分析包Pandas用来完成类似SQL的功能,不过Pandas是会把数据都load到内存里,如果数据太大(2G以上)需要想办法分chunk分析,或者用pytables/pyh5转换为hdf5格式的文件在硬盘上分析。
另外如果是windows环境的话,建议用winpython,上面提到的这些包会自带。当然更丰富的是pythonxy可惜这个只有32位的。

SAS和SPSS是商业数据分析软件,本屌从来没用过。

— 完 —

本文作者:peng wang

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 5 个回答,查看全部。
延伸阅读:
Python 是一门适合做数据挖掘的语言吗?
SAS, SPSS, AMOS, Stata之间的比较?

分享到