查看: 7270| 回复: 39
跳转到指定楼层
上一主题 下一主题
收起左侧

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

全局:

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
我是国内一所top5学校的统计专业学生,sas用的比较多,而且我越发觉得sas好用,基本上的数据处理sas都可以做的非常好~另外,如果说需要编写假设检验,sas也完全可以胜任,突然我就在想为什么大家(包括国外的老师)都在用r ?
前一段时间和老师有所讨论,得到一个说法如下:r的内置机理有问题,处理大量数据非常慢(我不是cs的学生补太会讲的高深一点),也就是说,几十万条数据r还能做的话,上千万条就不行了。现在又数据爆炸,怎么就又回去推崇r了?那么到底r的优势在哪里?

评分

参与人数 1大米 +10 收起 理由
5668157 + 10 给你点个赞!

查看全部评分


上一篇:Rutgers没来结果先来了financial aid是什么节奏?
下一篇:一年就业经验对申请是否有帮助

本帖被以下淘专辑推荐:

  • · 统计|主题: 2, 订阅: 0
重装玛丽莲 2015-4-27 02:27:49 | 只看该作者
全局:
两款软件的定位不太一样,所以感觉比较侧重的方向也不太一样。两者横向对比没有特别多的价值,完全取决于使用者的需求。

一个不太恰当的比喻,SAS更像是品牌机,成熟可靠;而R更像是组装机,可以满足任何任性的需求。

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

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

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

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

(2)R另外一个优势在于开源社区,这就意味着有无数的、经过优化的、满足不同需求的package已经被大家编写完毕,需要使用时只需要进行安装调用即可。SAS集成新算法的效率其实不算低,经常比较主流成熟的算法都会及时更新到SAS里,但这一速度相比R package效率低了很多。个人感觉R的packeage不仅仅是用来实现算法,你还可以直接读代码去逆向理解整个算法的idea。比如某大牛发了paper并且编了包,paper核心的idea看不懂,没关系,下他的包拆开慢慢看其中的过程。. 1point3acres

(3)对于相当于一部分死活不愿意离开R的用户来说,R的必杀技在于ggplot2包。套用乔帮主的话说,ggplot2重新定义了什么是画图。如果你对PS用得得心应手,那么ggplot2的编程哲学就更能引起共鸣。

(4)R的执行效率特别是在做循环的时候,确实“曾经”如同楼主抱怨的那样慢成渣渣。但就目前R的发展来看,这一致命短板正在逐渐弥补。比如尽量用向量式计算,比如apply类函数;比如把四则运算交给底层,用C写好后用R来编译调用;再比如开大杀器调用并行运算。都有具体的package来实现这些功能,甚至有包将R与其他工具进行对接。

. 1point 3acres
综上,就我目前的统计需求来说,R的使用占了绝大多数时间。但目前整体使用情况,可以参加如下图表。


. 1point 3 acres
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大米 +140 收起 理由
whdawn + 30 回答的很好!
modifiedname + 80
EroicaCMCS + 30 回答的很好!

查看全部评分

回复

使用道具 举报

推荐
epsilon 2015-4-26 16:18:16 | 只看该作者
全局:
本帖最后由 epsilon 于 2015-4-26 16:26 编辑

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

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

r处理大数据的问题在于它是把数据导入内存中,所以对于特别大的数据r无法处理(除非你有超大内存)。而sas是从硬盘直接读写,所以理论上只要你的数据能存在硬盘上,它就能处理。不过关于这个现在也有很多解决办法,譬如数据分块处理,和c/fortran结合,分布式计算,等等。貌似现在还有能直接处理硬盘数据的r解释器,我不是很了解。

另一方面,在业界用r很多时候只是测试模型和算法(python也是如此),对速度和空间的要求不高。觉得可行的算法一般最后都会用c++之类的语言重写后投入使用。

评分

参与人数 2大米 +30 收起 理由
whdawn + 20
ecb9d16a + 10 说的很对

查看全部评分

回复

使用道具 举报

推荐
ZYYYZ 2015-4-24 22:23:20 | 只看该作者
全局:
等你有个new method想write your own function你就知道SAS有多折磨人了。
回复

使用道具 举报

🔗
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到底优势在哪里?最好有去过国外的同学讲下,比较国内对软件编程重视程度在本科不高
回复

使用道具 举报

🔗
daichi1231 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 | 只看该作者
全局:
很好的话题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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