中级农民
- 积分
- 111
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-8-14
- 最后登录
- 1970-1-1
|
两款软件的定位不太一样,所以感觉比较侧重的方向也不太一样。两者横向对比没有特别多的价值,完全取决于使用者的需求。
一个不太恰当的比喻,SAS更像是品牌机,成熟可靠;而R更像是组装机,可以满足任何任性的需求。
有人说SAS更偏向业界,R更偏向学术,这也是从用户不同需求上进行的划分。. ----
SAS本质上是一款非常成熟的商业化软件。发展到今天,SAS已经有一套完整的商务需求解决方案,有标准化的考试资格认证,并且其质量也得到了业界相当范围内的认可,比如SAS是FDA唯一认证的软件。而R本质上更像一种面向开发的软件。
两者谁更好用,完全依赖于用户的需求。建议楼主有时间两者都多多学习,matlab和python都可以换着用。
下面是一些关于R的题外话。
(1)对于统计学家来说,C的执行效率高,但编程效率低。这也是为什么会有R的初衷:尽量把“造轮子”的底层运算省去,更侧重于统计方法的实现,即突出编程效率,适当降低执行效率。从这一点来看,R是一款非常成功软件。这样使得R的代码非常灵活(弊端也是可读性下降)。举个和SAS的有关的“不灵活”的例子,SAS在contrast命令时,设计矩阵的每一项是不能大于1的,如果要输入1/3,只能换成0.33,当时在使用时出现这个报错我纠结了好久。
.google и
(2)R另外一个优势在于开源社区,这就意味着有无数的、经过优化的、满足不同需求的package已经被大家编写完毕,需要使用时只需要进行安装调用即可。SAS集成新算法的效率其实不算低,经常比较主流成熟的算法都会及时更新到SAS里,但这一速度相比R package效率低了很多。个人感觉R的packeage不仅仅是用来实现算法,你还可以直接读代码去逆向理解整个算法的idea。比如某大牛发了paper并且编了包,paper核心的idea看不懂,没关系,下他的包拆开慢慢看其中的过程。
(3)对于相当于一部分死活不愿意离开R的用户来说,R的必杀技在于ggplot2包。套用乔帮主的话说,ggplot2重新定义了什么是画图。如果你对PS用得得心应手,那么ggplot2的编程哲学就更能引起共鸣。
(4)R的执行效率特别是在做循环的时候,确实“曾经”如同楼主抱怨的那样慢成渣渣。但就目前R的发展来看,这一致命短板正在逐渐弥补。比如尽量用向量式计算,比如apply类函数;比如把四则运算交给底层,用C写好后用R来编译调用;再比如开大杀器调用并行运算。都有具体的package来实现这些功能,甚至有包将R与其他工具进行对接。
综上,就我目前的统计需求来说,R的使用占了绝大多数时间。但目前整体使用情况,可以参加如下图表。
![]()
The number of scholarly articles found in each year by Google Scholar. Only the top six “classic” statistics packages are shown. (Source: R bloggesr)
. 1point3acres
The number of scholarly articles found in each year by Google Scholar for classic statistics packages after market leaders SPSS and SAS have been removed. (Source:R bloggers) |
|