资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,欢迎走入,R,语言世界!,谢益辉、郑冰,2008,年,12,月,13,日,R,语言的概述,R,语言的背景,R,语言的发展,R,语言的运用,R,语言的概述,R,语言的背景,R,语言的发展,R,语言的运用,R,语言的概述,R是一门用于统计计算和作图的语言,受S,语言和,Scheme,语言影响发展而来,。,R语言最初由新西兰奥克兰大学统计系的Robert,Gentleman和Ross,Ihaka合作编写,。,R,语言的概述,R,语言的背景,R,语言的发展,R,语言的运用,R,语言的概述,R语言具有免费、开源及统计模块齐全的特征,已被国外大量学术和科研机构采用,其应用范围涵盖了数据挖掘、机器学习、计量经济学、实证金融学、统计遗传学、自然语言处理、心理计量学和空间统计学诸多领域。,R,语言的概述,R,语言的背景,R,语言的发展,R,语言的运用,R,语言的概述,http:/www.r-project.org,关于,下载镜像(中国香港有一个镜像网站,R,组织,文档(官方文档、用户贡献文档、卡片),其他,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,GNU是一套完全由自由软件构成的计算机操作系统,.,其名称是“,GNUs Not Unix,的递归缩写。,GNU,由,Richard Stallman,发起,后来在“,GNU,计划”下开发,目前已经包含大量的自由软件。,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,Richard Stallman,在其“,GNU,宣言”中提到了他发起,GNU,的动机如,http:/www.gnu.org/gnu/manifesto.html,“I consider that the golden rule requires that if I like a program I must share it with other people who like it.”,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,“自由”:,以任何目的运行此程序的自由;,以学习程序工作机理为目的,对,程序进行修改的自由,;,再发行复制件的自由;,改进此程序,并公开发布改进的自由,;,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,对统计的意义:,能够对现实生活中复杂的数据一步步的去处理,并且随时以数值或图形的形式观察中间结果,以便我们决定下一步分析应该朝怎样的方向进行。,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,对统计的意义:,避免了像商业软件在固定的分析过程中存在的问题,无法得到取截尾均值作为统计量,统计分析方法的归类不清,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,对统计的意义:,避免了像商业软件一样源代码不被公开,其中的具体程序过程只有内部人员清楚,用户对此毫不知情。,用户可以得知其中的计算会暗含着何种漏洞或错误。,Excel,为例,有时能计算出负的方差,有时能产生有严重缺陷的随机数等等。,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,自由的,GNU,总之:,一是可自由计算任何想计算的统计量(包括图形);,二是保证用户能够使用正确的计算机程序,或换句话说,保证用户清楚他们利用计算机究竟在做什么。如果用户被剥夺了这种自由,那么统计分析工作的效率和信度都将大打折扣。,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,S,语言的荣耀,S,语言是一门用于数据分析和图示的高层语言。,1998,年美国计算机学会(,ACM,)授予了,S,语言的主要设计者,John M.Chambers“,软件系统奖”,/www.acm.org/announcements/ss99.html,,用以表彰,S,取得的成就。,R father,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,S,语言的荣耀,棕皮书:,Richard A.Becker and John M.Chambers(1984),S.An Interactive Environment for Data Analysis and Graphics,Monterey:Wadsworth and Brooks/Cole.,蓝皮书:,Richard A.Becker,John M.Chambers and Allan R.Wilks(1988),The New S Language London:Chapman Hall.,白皮书:,John M.Chambers and Trevor J.Hastie(1992),Statistical Models in S London:Chapman&Hall.,这本书中开始介绍,S3,,即第,3,代,S,绿皮书:,John M.Chambers(1998),Programming with Data,New York:Springer,ISBN 0-387-98503-4,这本书介绍了,S4,,即第,4,代,S,。,R father,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,Scheme,语言的荣耀,Scheme,语言是,LISP,语言的一个方言,(,或说成变种,),,与其他,lisp,不同的是,scheme,是可以编译成机器码的。,它诞生于,1975,年的,MIT,,对于这个有近三十年历史的编程语言来说,在国外广泛运用,就像国内的,C+,,,Java,,,C,那样受到商业领域的青睐。,R mother,R,语言的背景,R,语言的概述,R,语言的发展,R,语言的运用,Scheme,语言的荣耀,Scheme,的一个主要特性是可以像操作数据一样操作函数调用。,Scheme,其的主要目的是训练人的机器化思维。以其简洁的语言环境和大量的脑力思考而著称。,主要的,Scheme,环境有:,MIT Scheme,、,DrScheme.,R mother,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,萌芽,诞生婴儿期,成长发展期,现状,思想火花,胚胎时期,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,思想火花,最早的时候,,Ross Ihaka,从一本书了解到了,Scheme,语言,,Ross,对,Scheme,非常感兴趣;大约与此同时,他获得了一版新,S,语言(见蓝皮书)的源代码,此时他注意到了,Scheme,和,S,语言二者之间的异同点。,后来,Ross,开始准备用,Scheme,向别人演示词法作用域,但是由于手边没有,Scheme,的书,就用,S,来演示却失败了,这让他萌生了改进,S,语言的想法,。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,萌芽,相当长一段时间之后,,Ross,Ihaka,和,Robert Gentlemen,在奥克兰大学成了同事,他们都对统计计算十分感兴趣,而且试图为他们的实验室寻找一个更好的软件。,因为在商业软件中找不到他们想要的,这使,Ross,想到当初改进,S,语言的想法,于是他们决定自己开发一种语言。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,胚胎时期,1993,年,,Ross,和,Robert,将,R,的部分二进制文件放到了卡耐基,梅隆大学统计系的,Statlib,中,并在,S,语言的新闻列表上发布了一个公告。,随后有些人开始下载使用并给他们反馈,其中以苏黎世理工学院的,MartinM,最为突出。,Martin,极力劝说两位原作者公布源代码,让,R,成为自由软件。于是,1995,年,6,月,R,的源代码正式发布到了自由软件协会的,FTP,上。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,诞生婴儿期,随着开发的进行,程序版本的归档又成为问题。,维也纳工业大学的,Kurt Hornik,承担了这份任务,在维也纳建立了,R,程序的归档,使得程序版本的发布变得更加规范。,同时在世界各地也出现了,R,程序的镜像(如,Statlib,等)。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,成长发展期,于是1997年中期R核心团队成立了,成员包括:,Douglas Bates,美国威斯康辛大学统计系教授,Peter,Dalgaard,丹麦哥本哈根大学公共卫生所副教授,Robert Gentleman,美国西雅图哈清森肿瘤研究中心公共卫生部计算生物学项目带头人,Kurt Hornik,奥地利维也纳工业大学统计与数学系教授、主席,Ross,Ihaka,新西兰奥克兰大学统计系副教授,Friedrich,Leisch,德国慕尼黑大学统计系教授,Thomas Lumley,美国华盛顿大学生物统计系副教授,Martin,Maechler,苏黎世理工学院数学系高级研究员,Paul Murrell,新西兰奥克兰大学统计系高级讲师,Heiner,Schwarte,原在德国杜伊斯堡,埃森大学(现已非核心成员),Luke Tierney,爱荷华大学统计与精算系教授,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,1,),R,源程序,截止到本文写作时,,R,源程序已经更新了约,70,个版本,目前是,2.8.0,版,源程序大小由,1997,年的,959K,增大到了今天的大约,16M,(,Window,二进制安装程序文件约,30M,);从版本更新以及文件大小来看,,R,的发展速度的确非常快,而且整个软件系统的体积也保持着非常小的优势,这几乎是任何一门商业软件都无法比拟的。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,2,)邮件列表,现今,R,的邮件列表仍然由苏黎世理工学院的,Martin Machler,提供支持,这些邮件列表分四大类:消息发布(,R-announce,)、附加包(,R-help,)、帮助(,R-help,)和,R,程序开发(,R-devel,)。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,3,),R,核心团队,2008,年,R,核心团队成员数目增加到了,19,位,成员主要来自世界各地的大学如牛津大学、加拿大西安大略大学、意大利米兰大学等,也有来自公司企业的成员,如,AT&T,实验室的,Simon Urbanek,等。由于,R,的扩展性非常强,因此也吸引了大量用户编写自定义的函数包供更多人使用,这些附加包都可以从世界各地的,CRAN,镜像上下载。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,4,),R,刊物,R,也有其刊物“,R News”,,创办于,2001,年,至今已经发行,23,期,共发表论文,205,篇。该刊物主要介绍,R,的最新特征、,CRAN,的动态、附加包的说明短文、编程技巧、手册和,FAQ,中没有介绍的小提示以及,R,在数据分析中的应用示例。,自,2009,年起,“,R News”,将更名为“,The R Journal”,。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,5,),R,书籍,据,R,官方网站不完全统计,与,R,语言相关的出版书籍已达,68,本,内容包括,S,语言介绍、统计编程、统计学相关领域的应用、统计模型、数据分析、统计图示和与,R,相关的其它软件应用等。,R,语言的发展,R,语言的概述,R,语言的背景,R,语言的运用,现状,6,),R,会议,从,2004,年起至今(,2005,年除外),,R,团队每年都会举办一次,useR!,会议,过去已经在奥地利、美国和德国举办了,4,次会议,每年参会人数和演讲篇数都在增多,例如最近一次
展开阅读全文