我用R有几年了,SAS最近实习才开始用
公司本来是SAS连数据库调取数据然后做一些数据整理工作,也就是SQL中select, order, join,之类的操作,
最近老板吩咐我用RODBC连数据库,把SAS代码翻译成R代码实现同样的功能,并对比SAS和R,(我用的是CRAN的免费R,SAS版本是9.3)
我发现一些问题,
1. 首先SAS速度明显要比R快,我测了一些基本上都是10倍左右的差距,
2. 有一个功能R居然无法实现,就是无发实现本地data.frame和数据库table之间的 join 运算,而SAS可以...这个很伤啊,我不得不把需要做join运算的数据库table完全下载到本地,然后再运算,但效率是差了很多。为此前几天我还发了个帖子 https://bbs.pinggu.org/thread-4599770-1-1.html
3. R的内存占用。我们公司全是32bit的机器,一开始只有2G内存,不过SAS已经无压力运行了(不知道SAS是怎么实现的,有些数据其实挺大的),所有操作都ok。但R随便加载个data.frame内存就爆炸。公司机器没办法换到64bit的,所以内存只能加到4G,但依然压力很大啊,我两个大一点的data.frame做个SQL join之类的运算都做不了了。据说R能做硬盘的内存映射,学习ff包中,但感觉中文资料好少...
希望大家能一起分享一下SAS和R的使用感受...