统计分析之神器---R

去年在人大参加统计学论坛,吴喜之老师建议我们将R作为统计学习的平台。吴老的学识和人品我们都非常佩服,他是最早将R引进国内的人之一。如今有很多能做统计分析的软件,如SPSS,SAS,MATLAB,STATA等,为什么吴老强烈建议我们学R,用R呢?首先我们来看R能干嘛。

  1. R能唱歌

require(tuneR)
Wobj <-bind(sine(440, bit = 16), sine(220, bit = 16))
play(Wobj)

  1. R能跳舞

require(animation) #此包还有很多好玩的flash
boot.iid(main =c(“”, “”))

  1. R能发微博

require(Rweibo)
res8 <-statuses.update(roauth, status = “你好啊*!@#$&=+“) #发微博
res2 <-statuses.friends_timeline(roauth, count = 5)
res2[[1]] #查看自己及关注对象的微博

  1. R能当google地图用

require(ggmap)
require(mapproj)
map <-get_map(location = ‘Beijing’, zoom = 10, maptype = ‘roadmap’)
ggmap(map) #查看北京市交通图
mapdist(‘BeijingNormal University’,‘Beijing Institute of Technology ‘, ‘driving’)
#查看我们去北理上课坐车要多久
from to m km miles seconds
Beijing NormalUniversity Beijing Institute of Technology 7358 7.358 4.572261 915

minutes hours
15.25 0.2541667

  1. R能中文分词

require(Rwordseg)
teststring1<-“钓鱼岛是中国的小日本别妄想了” #这是我们要分词的语句
segmentCN(teststring1)

[1] “钓鱼岛” “是” “中国” “的” “小” “日本” “别” “妄想” “了”

R还能做很多其他好玩的事···

R语言最初由新西兰奥克兰大学统计系的Robert Gentleman和RossIhaka合作编写,他们的名字都以R开头,所以将此语言命名为R。R的前身是S,S语言是一门用于数据分析和图示的高层语言。我们进入到R主页的时候,看到图形上面有个标题“The R Project for Statistical Computing”,所以R是一门用于统计计算和作图的语言。R能做很多统计计算,R里面专门作图的包(ggplot)非常强大。R的应用范围涵盖了数据挖掘、机器学习、计量经济学、实证金融学、统计遗传学、自然语言处理、心理计量学和空间统计学诸多领域。

如今R在CARN上的包有4000多个,有人写出的R包没有放在CARN上,放在自己的博客主页上。还有一些人写书,把里面的程序用R写了一个包,放在CRAN上,例如MASS,alr3,TSA等包。R是开源的,免费的,而且统计模块齐全,所以备受学术界的青睐。开源的精神是“共享,互助,奋进”,你可以查看R包里面的函数源代码。如果觉得里面的函数不好用,你可以修改或者重新写函数打包放上去。

R是高级语言,不适合做加加减减这样的底层工作。如果你的R代码有很多for循环,尤其是嵌套循环,它运行起来会比你想象中的慢。曾经在网上看到一个笑话:如果你的R代码中循环的行数超过整段代码的一半,只有以下三种可能,

  1. 你是故意的;
  2. 你在糟蹋R;
  3. 请参照第一条。

那么怎样解决R运行循环慢的问题呢?不用担心,R core们早就注意到了这个问题。R如今有很多接口,R可以与MySQL等数据库软件连接起来,通过接口也可以执行C,C++语言程序(如果有大量循环的工作可以写个C程序,再用R来执行并做其他的工作),还可以连接Latex,Sweave,fortran等。R的原始编辑器长得很丑,不能自动高亮。这时你可以配置自己喜欢的编辑器,R_WinEdt,Emacs,RStudio都是常用的编辑器。据说万能的Emacs是R的最终归宿,去年用过一段时间的Emacs,感觉还是不习惯,用键盘操作的命令太多,如今那些命令语法已忘光。后来转投RStudio,真心觉得不错。

1997年中期R核心团队成立,每年R都至少有两个版本更新。R也有其刊物“R News”,创办于2001年,自2009年起,“R News”将更名为“The R Journal”。如果你在R-bloggers上用邮箱注册一个用户名,每天R-bloggers都会给你发一封邮件,里面的文章就是来自The R Journal上,那上面的文章是全世界各地的人最新用R做出了一些有意思的事。R发展很快,在2012年卖出的相关R书籍超过了SAS(当然SAS也是非常强大的统计软件,里面有一大批优秀的统计师和程序员)。程序员杂志近年来将全世界所有的编程语言所受欢迎程度,使用范围广度排名,C是排名第一,R排在十几位,是统计类语言排名最高的。从2004年起至今(2005年除外),R团队每年都会举办一次useR!会议,过去已经在奥地利、美国和德国举办了4次会议,每年参会人数和演讲篇数都在增多。

谢益辉(animation,knirt包的作者,他在CRAN上贡献了好些包)是useR中国区主席,在他的倡导和组织下,2008年在人民大学成功举办了第一届中国R语言会议。以后每年都举办一次,分为北京会场和上海会场,分别在人大和华东师大举办。第六届中国R语言会议5月份在人大即将举行,具体报名时间敬请关注统计之都网站。统计之都网站是谢益辉06年创办的,分为cos主站和cos论坛。这是一个非常专业,正直,规范的网站,在里面下资料不需要积分,更不需要其他条件。里面讨论的是统计相关内容和R有关的问题,有很多本领域的学术大牛和业界精英在里面游荡。R的口号是“Use R Everywhere!”

皈依R派有两年了,说来惭愧,本人的R水平还是半吊子。R博大精深,前路漫漫···

在统计之都(ps:这上面有一些很好的文章,比如“统计词话”“正态分布的前身今世”“相亲几次才能找到靠谱的对象”等)上看到这篇推荐的文章,确实不禁让人感叹“计算机系的在学统计,统计系的在学数学,数学系的在学编程”。看来在如今激烈的竞争社会,交叉,跨界和混搭才能立于东方不败之地。

Life should have fun!最后放一张图,娱乐一下。 rfun

 
comments powered by Disqus