R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人配合发现,其词法和语法别离源自Scheme和S语言,一般认为R语言是S语言【注:John Chambers,贝尔尝试室,1972】的一种方言。
R是“GNU S”,一个可以或许自由有效地用于统计计较和画图的语言和情况,它提供了遍及的统计阐明和画图技能,包罗线性和非线性模子、统计检讨、时间序列、分类、聚类等要领。我们更倾向于认为R是一个情况,在R情况里实现了许多经典的、现代的统计技能。
1992年,Ross Ihaka(图左)和Robert Gentleman(图右)在奥克兰大学成为同事。厥后为了利便传授初等统计课程,二人开拓了一种语言;而他们名字的首字母都是R,于是R便成为这门语言的名称。
作为R语言的前身——S语言的代码险些不需要举办任何修改即可在R语言情况下运行,从这个角度讲两种语言险些等价。S语言降生于20世纪70年月由John M. Chambers率领的贝尔尝试室统计研究部。它的降生进程险些就是现代统计阐明方法的演化过程的写照【注:谢益辉,郑冰(2008). R语言的汗青配景、成长过程和近况. 1st China R Conference.】。
1993年,S语言的许可证被MathSoft公司买断,S-PLUS成为其公司的主打数据阐明产物。由于S-PLUS担任了S语言的优秀血统,所以被世界各国的统计学家遍及利用。但好景不长,1997年R语言正式成为GNU项目,大量优秀统计学家插手到R语言开拓的队列。跟着R语言的成果逐渐强大,S-PLUS的用户徐徐地转到了同承一脉的R语言。S语言的发现人之一——John M. Chambers最后也成为R语言的焦点团队成员。S-PLUS这款优秀的软件也几经易手,最后花落TIBCO公司,虽然,这是后话。
John M. Chambers老爷子一直精心极力地致力于R语言的成长,至今仍然是活泼的R语言开拓者。在2009年第一期《R Journal》上,John M. Chambers是这样界说R语言的:
虽然,R语言的这些特点很难在一篇随笔里细致地浮现出来。下面我将扼要描写一下R语言的近况和将来。
近况及应用
R语言在国际和海内的成长差别很是大,国际上R语言已然是专业数据阐明规模的尺度,但在海内依旧任重而道远,这当然有数据学科职位不高的原因,国人版权观念单薄以及学术规模相对闭塞的原因也不容忽视。R语言之所以可以或许被宽大的数据阐明事情者接管,这个中有诸多原因。
优势及特点
从R语言的成长汗青上看,R主要是统计学家为办理数据阐明规模的问题而开拓的语言,因此R具有一些奇特的优势。
–可通过相应接口毗连数据库,譬喻Oracle、DB2、MySQL。
– 同Python、Java、C、C++等语言举办互调。
–提供API接口均可以挪用,譬喻Google、Twitter、Weibo。
–其他统计软件大部门均可挪用R,譬喻SAS、SPSS、Statistica等。
–甚至一些较量直接的贸易应用,譬喻Oracle R Enterprise、R add-on for Teradata、Sybase RAP等。
荣誉
R语言拥有这么多优势,很大部门原因在于它同样担任了S语言的优秀血统。S语言在1998年被美国计较机协会(ACM)授予了软件系统奖,这是迄今为止浩瀚统计软件中“”被ACM授奖的统计系统。
其时ACM是这样评价S语言的:
我们也可以查询到积年ACM授予软件系统奖的列表,这些优秀的软件系统与我们的糊口息息相关:
1983年,Unix
1986年,TeX
1989年,PostScript
1991年,TCP/IP
1995年,World-Wid-Web
1997年,Tcl/Tk
1998年,S
1999年,The Apache Group
2002年,Java
2009年,《纽约时报》颁发了题为 “Data Analysts Captivated by R’s Power”的社评,会合接头了R语言在数据阐明规模的成长,并激发了SAS和R用户遍及而剧烈的争论。期间,辉瑞公司(Pfizer)非临床数据部的副总监Max Kuhn提到:
社团及勾当
正如前文John M. Chambers所说,R也是一个社区,其线下勾当很是活泼。在国际上,欧洲和美国每年会轮值举行一次“useR!”集会会议,届时来自世界各地的R用户齐聚一堂,接头R语言的应用与科研方面的成就。
出于对统计计较的非凡思量,每两年还会举行一次DSC集会会议(Directions in Statistical Computing),专门接头R在统计计较方面的应用及理论研究。各多半会也会有相应的RGroup,利便当地的R用户集会及交换。
在海内,每年会以统计之都【注:Capital of Statistics,是一个致力于流传统计学常识并将其应用于实际规模的网站,创立于2006年,宗旨是中国统计学派别网站、免费统计学处事平台】牵头,在北京和上海举行两次中国R语言集会会议,至2011年已在中国人民大学、华东师范大学等高校举行了四届R语言集会会议,积年的演讲主题涉及医药、金融、地理信息、统计图形、数据挖掘、制药、高机能计较、社会学、生物信息学、互联网等多个规模。从2012年起,台北将成为第三个举行中国R语言集会会议的都市——2012年6月的中华R语言集会会议台北场已经在操持傍边。
业界的承认
KDnuggets网站每年城市做一些数据阐明、数据挖掘方面的专题问卷观测,在2011年8月的数据挖掘规模语言风行度的观测中,R语言位居数据挖掘规模所有语言之首(如下图所示),而紧随其后的SQL、Python、Java则在某一规模具有各自独到的优势。在数据挖掘领域下,R语言同这些语言彼此补足、相得益彰。
按照互联网搜索功效计较的TIOBE编程社区指数(Programming Community Index)【注:TIOBE (2011). http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.】大概更能代表编程语言的风行度。在2011年12月份排名中,R语言依旧是统计规模中更为风行的语言,位列第24(Ratings 0.522%),而时常被放在一起较量的SAS则排名第31(0.417%)。

固然KDnuggets网站的观测存在样本有偏的嫌疑,但究竟代表了某一类人群的偏好,而且排名前五位的语言在各自的规模确有代表性。(数据来历 http://www.kdnuggets.com/2011/08/poll-languages-for-data-mining-analytics.html)
挑战和将来
固然R语言有诸多优势,但它并不是万能的——它究竟是统计编程类语言。受到其算法架构的通用性以及速度机能方面的影响,因此其初始设计完全基于单线程和纯粹的内存计较。固然一般环境下无关R的利用,但在当今大数据条件下,这两个设计思路的劣势逐渐变得愈加刺目。亏得R的一些优秀的扩展性经办理了上述问题,譬喻:
这里需要着重提一下parallel包,该包是R焦点团队为了办理大数据计较问题而在尺度安装措施下新增的成果包
一些误区
许多人认为R语言是GNU开源项目软件,因此软件的利用是“没有任何担保”的。但在美国,R的计较功效被FDA(Food and Drug Administration) 所认可;而且有陈诉指出与其他贸易软件对比,R的Bug数量很是少【注:UCLA (2006). R relative to statistical packages. Technical report, UCLA.】。
R开拓的焦点团队对付R的新成果持异常审慎的立场,好比cairographics从2007年开始酝酿,直到上一个大版本(2011年)才引入到R尺度安装措施;byte-compile成果更是经验了从1999-2011年近12年的孵化【注:Ripley,B. (2011). The r development process. Technical report,Department of Statistics,University of Oxford.】。从这个角度讲,R语言的代码质量以及运算功效的可信性是完全可以担保的。
虽然,这里所说的是R的尺度安装措施包,并不代表所有扩展包的质量。究竟3400+的扩展包质量良莠不齐,固然不乏一些优秀的包(如Rcpp、RODBC、VGAM、rattle),但一定存在一些扩展包质量不佳的环境。
应用的思考
R语言并不是人人都能打仗到的语言,相对要小众许多,有些人即便打仗到没准也搞不清楚R到底有什么用途。对付走上这条路的人,常常会有一些应用坚苦,好比从小我私家进修角度而言。
从公司贸易应用的角度而言,也存在一些不行回避的问题。
结语
R语言固然降生于统计社区,处事于数据,但此刻跟着数据渗透到各行各业,R语言已经远远高出统计领域,相信不久的未来会有更多的伴侣插手到R语言社区。
