一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1564|回复: 39
收起左侧

[统计--软件] R发展所存在的问题,大家都怎么看?

[复制链接] |试试Instant~ |关注本帖
dertas1993 发表于 2015-4-24 20:59:07 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
我是国内一所top5学校的统计专业学生,sas用的比较多,而且我越发觉得sas好用,基本上的数据处理sas都可以做的非常好~另外,如果说需要编写假设检验,sas也完全可以胜任,突然我就在想为什么大家(包括国外的老师)都在用r ?
前一段时间和老师有所讨论,得到一个说法如下:r的内置机理有问题,处理大量数据非常慢(我不是cs的学生补太会讲的高深一点),也就是说,几十万条数据r还能做的话,上千万条就不行了。现在又数据爆炸,怎么就又回去推崇r了?那么到底r的优势在哪里?
重装玛丽莲 发表于 2015-4-27 02:27:49 | 显示全部楼层
两款软件的定位不太一样,所以感觉比较侧重的方向也不太一样。两者横向对比没有特别多的价值,完全取决于使用者的需求。
.1point3acres缃
一个不太恰当的比喻,SAS更像是品牌机,成熟可靠;而R更像是组装机,可以满足任何任性的需求。

有人说SAS更偏向业界,R更偏向学术,这也是从用户不同需求上进行的划分。

SAS本质上是一款非常成熟的商业化软件。发展到今天,SAS已经有一套完整的商务需求解决方案,有标准化的考试资格认证,并且其质量也得到了业界相当范围内的认可,比如SAS是FDA唯一认证的软件。而R本质上更像一种面向开发的软件。. 1point3acres.com/bbs

两者谁更好用,完全依赖于用户的需求。建议楼主有时间两者都多多学习,matlab和python都可以换着用。

下面是一些关于R的题外话。

(1)对于统计学家来说,C的执行效率高,但编程效率低。这也是为什么会有R的初衷:尽量把“造轮子”的底层运算省去,更侧重于统计方法的实现,即突出编程效率,适当降低执行效率。从这一点来看,R是一款非常成功软件。这样使得R的代码非常灵活(弊端也是可读性下降)。举个和SAS的有关的“不灵活”的例子,SAS在contrast命令时,设计矩阵的每一项是不能大于1的,如果要输入1/3,只能换成0.33,当时在使用时出现这个报错我纠结了好久。

(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与其他工具进行对接。
. from: 1point3acres.com/bbs

综上,就我目前的统计需求来说,R的使用占了绝大多数时间。但目前整体使用情况,可以参加如下图表。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

                               
登录/注册后可看大图

. from: 1point3acres.com/bbs
The number of scholarly articles found in each year by Google Scholar. Only the top six “classic” statistics packages are shown. (Source: R bloggesr)


                               
登录/注册后可看大图


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)

评分

3

查看全部评分

回复 支持 反对

使用道具 举报

epsilon 发表于 2015-4-26 16:18:16 | 显示全部楼层
本帖最后由 epsilon 于 2015-4-26 16:26 编辑 . Waral 鍗氬鏈夋洿澶氭枃绔,

r的优势在于它是一个比较完整的编程语言。sas语法诡异,并非以传统的编程语言框架而设计,处理复杂问题比较困难,所以学术界是基本没人用sas。. 1point 3acres 璁哄潧

另外你听到的说法是有误的。r处理数据不慢。r主要是循环慢因为它是解释型语言(而sas的后台是用c编译的程序),但是它的很多处理数据和矩阵计算的函数都是调用c或者fortran写的程序,这些函数的速度和sas应当是差不多的。所以r的程序慢不慢取决于编程者如何写,有经验的人都会将循环转化为内置的函数(术语叫做vectorize),一个好的r程序应当是不慢于sas。

r处理大数据的问题在于它是把数据导入内存中,所以对于特别大的数据r无法处理(除非你有超大内存)。而sas是从硬盘直接读写,所以理论上只要你的数据能存在硬盘上,它就能处理。不过关于这个现在也有很多解决办法,譬如数据分块处理,和c/fortran结合,分布式计算,等等。貌似现在还有能直接处理硬盘数据的r解释器,我不是很了解。
. from: 1point3acres.com/bbs
另一方面,在业界用r很多时候只是测试模型和算法(python也是如此),对速度和空间的要求不高。觉得可行的算法一般最后都会用c++之类的语言重写后投入使用。

评分

2

查看全部评分

回复 支持 1 反对 0

使用道具 举报

demonhunter 发表于 2015-4-24 22:23:20 | 显示全部楼层
等你有个new method想write your own function你就知道SAS有多折磨人了。
回复 支持 1 反对 0

使用道具 举报

cholyon 发表于 2015-4-24 21:08:07 | 显示全部楼层
现在有R hadoop解决方案,应该不成问题。
回复 支持 反对

使用道具 举报

 楼主| dertas1993 发表于 2015-4-24 21:12:34 | 显示全部楼层
cholyon 发表于 2015-4-24 21:08
现在有R hadoop解决方案,应该不成问题。

这是一个package还是就是另一个软件?
回复 支持 反对

使用道具 举报

 楼主| dertas1993 发表于 2015-4-24 21:25:04 | 显示全部楼层
还有,有没有大牛来讲讲,r到底优势在哪里?最好有去过国外的同学讲下,比较国内对软件编程重视程度在本科不高
回复 支持 反对

使用道具 举报

lukeutd 发表于 2015-4-24 21:39:41 | 显示全部楼层
可以去知乎看看吧 对于R SAS之间的优劣势讨论挺多的
回复 支持 反对

使用道具 举报

wxwx199301 发表于 2015-4-24 21:41:55 | 显示全部楼层
R 有丰富的 packages,而且还不断增多。如果 SAS 是 windows,R 就是 Linux,两者不会一个淘汰另一个。
回复 支持 反对

使用道具 举报

363853746 发表于 2015-4-24 22:08:39 | 显示全部楼层
sas贵。。。还是用MATLAB吧,XD
回复 支持 反对

使用道具 举报

cholyon 发表于 2015-4-24 23:53:27 | 显示全部楼层
dertas1993 发表于 2015-4-24 21:12
这是一个package还是就是另一个软件?

贴两个链接:
https://github.com/RevolutionAnalytics/RHadoop.鐣欏璁哄潧-涓浜-涓夊垎鍦

RHadoop实践系列文章
回复 支持 反对

使用道具 举报

zxhdw99 发表于 2015-4-25 00:01:06 | 显示全部楼层
很好的话题
回复 支持 反对

使用道具 举报

wwtpcsuper 发表于 2015-4-26 09:03:00 | 显示全部楼层
363853746 发表于 2015-4-24 09:08
sas贵。。。还是用MATLAB吧,XD

挽歌来卧底了
回复 支持 反对

使用道具 举报

 楼主| dertas1993 发表于 2015-4-26 19:32:20 | 显示全部楼层
epsilon 发表于 2015-4-26 16:18
r的优势在于它是一个比较完整的编程语言。sas语法诡异,并非以传统的编程语言框架而设计,处理复杂问题比较 ...

说的很有道理啊~但是。。。sas语法诡异是什么鬼。。。。我觉得sas不用定义变量类型,且只有两个类型!~ 这个就特别有优势啊,话说回来,r明显更编程 ,更复杂?既然r能和sas做的差不多,那开始直接用sas不适更对么?
r的优势还是没看出来啊,讲了半天,都是说r没有比sas差,不是么?
回复 支持 反对

使用道具 举报

EroicaCMCS 发表于 2015-4-26 19:43:14 | 显示全部楼层
过来歪个楼, 处理数据Python最好用!R一般就用来画个图 LOL
sas太贵了用不起啊。。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

和所有开源的东西一样,R有各种bug,有些包维护的不好. 1point 3acres 璁哄潧
但是毕竟开源,用的人多,社区比较完善,常见的问题都能解答;工具链/生态也比较好
回复 支持 反对

使用道具 举报

 楼主| dertas1993 发表于 2015-4-26 19:45:27 | 显示全部楼层
EroicaCMCS 发表于 2015-4-26 19:43
过来歪个楼, 处理数据Python最好用!R一般就用来画个图 LOL
sas太贵了用不起啊。。

作为一个盗版,使用者,可不可以问下,正版到底多了啥
= =
回复 支持 反对

使用道具 举报

 楼主| dertas1993 发表于 2015-4-26 19:54:55 | 显示全部楼层
我开这个贴的原因就是想和地里大牛请教下到底有没有学习r的必要了,因为,要知道很多软件都是兴了几年就没有掉了,sas无论如何,都是个非常持久的软件,不管说什么代码诡异还是什么,人家60,70年代出现后,一直坚挺到现在,世界500强我相信大多都是在用sas的,我本人准备出国读研,现在就考虑要不要出经历学习r,毕竟可以学习的,可以看的太多了不想浪费精力~
回复 支持 反对

使用道具 举报

rexwang 发表于 2015-4-26 20:14:36 | 显示全部楼层
R是我个人最喜欢的脚本语言哈哈
其实平心而论,R语言的语法其实也称得上“诡异”, 主要原因是作为一个开放的语言,随着它的发展,有各种各样的人为它写packages, 所以前后很多语法并不统一。不过这也正是它的魅力,开放+自由。有的时候很多数据分析问题并没有现成的模型,需要你自己建模的时候,R是相当自由的,而有一些问题需要用到现成的算法时,很多在Cran和git上的R项目已经为你做好了packages,只需要简单调用即可,我觉得现在R已经不仅仅是一种统计分析语言了,很多图论、网络科学、数据可视化、Web应用都可以用R实现。至于楼主说到的大数据的问题,确实存在,我实习的时候曾经遇到过要处理千万数据量的问题,R确实亚历山大。不过有一种说法是“R语言是算法的沙盒”, 真正实际应用的时候,只需要在R里试验算法,然后用C或者Java重新实现就好,此外现在还流行R+Hadoop等解决方案。最最重要的是,R语言的学习曲线太平滑了,而且R的IDE, Rstudio做的相当出彩,学习起来基本不会有什么太大的压力,可以说和matlab有很多相似之处。要说值不值得学,毕竟技多不压身嘛,我觉得还是值得的,现在R的资料比较少而杂,建议图灵的《R语言实战》配合packages说明,做几个例子就入门了。
回复 支持 反对

使用道具 举报

joycevernon 发表于 2015-4-26 20:44:39 | 显示全部楼层
EroicaCMCS 发表于 2015-4-26 19:43
过来歪个楼, 处理数据Python最好用!R一般就用来画个图 LOL
sas太贵了用不起啊。。

再歪下,为SAS的贵正名. From 1point 3acres bbs
.鐣欏璁哄潧-涓浜-涓夊垎鍦
SAS有高校版本,除了画图功能不可以用,其他的可以

还有网页版本,速度及其慢,但是还是可以用的. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

Orz
回复 支持 反对

使用道具 举报

EroicaCMCS 发表于 2015-4-26 20:58:30 | 显示全部楼层
dertas1993 发表于 2015-4-26 19:54
.鏈枃鍘熷垱鑷1point3acres璁哄潧我开这个贴的原因就是想和地里大牛请教下到底有没有学习r的必要了,因为,要知道很多软件都是兴了几年就没 ...

果断学,不需要花多少时间的。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
同意LSS,技多不压身。
回复 支持 反对

使用道具 举报

五农 发表于 2015-4-26 22:15:54 | 显示全部楼层
dertas1993 发表于 2015-4-26 19:54
我开这个贴的原因就是想和地里大牛请教下到底有没有学习r的必要了,因为,要知道很多软件都是兴了几年就没 ...

学习新知识怎么会是浪费时间呢,培养学习能力也是不错的选择嘛
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 05:23

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表