R~语言的历史背景、发展历程及现状

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

欢迎走入R语言世界!谢益辉、郑冰2008年12月13日R语言的概述R语言的背景R语言的发展R语言的运用R语言的概述R语言的背景R语言的发展R语言的运用R语言的概述R是一门用于统计计算和作图的语言,受S语言和Scheme语言影响发展而来。R语言最初由新西兰奥克兰大学统计系的RobertGentleman和RossIhaka合作编写。R语言的概述R语言的背景R语言的发展R语言的运用R语言的概述R语言具有免费、开源及统计模块齐全的特征,已被国外大量学术和科研机构采用,其应用范围涵盖了数据挖掘、机器学习、计量经济学、实证金融学、统计遗传学、自然语言处理、心理计量学和空间统计学诸多领域。R语言的概述R语言的背景R语言的发展R语言的运用R语言的概述·关于·下载镜像(中国香港有一个镜像网站·R组织·文档(官方文档、用户贡献文档、卡片)·其他R语言的背景R语言的概述R语言的发展R语言的运用自由的GNUGNU是一套完全由自由软件构成的计算机操作系统.其名称是“GNU’sNotUnix’'的递归缩写。GNU由RichardStallman发起,后来在“GNU计划”下开发,目前已经包含大量的自由软件。R语言的背景R语言的概述R语言的发展R语言的运用自由的GNURichardStallman在其“GNU宣言”中提到了他发起GNU的动机如“……IconsiderthatthegoldenrulerequiresthatifIlikeaprogramImustshareitwithotherpeoplewholikeit.……”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语言的主要设计者JohnM.Chambers~“软件系统奖”//,用以表彰S取得的成就。R’fatherR语言的背景R语言的概述R语言的发展R语言的运用S语言的荣耀棕皮书:RichardA.BeckerandJohnM.Chambers(1984),S.AnInteractiveEnvironmentforDataAnalysisandGraphics,''Monterey:WadsworthandBrooks/Cole.蓝皮书:RichardA.Becker,JohnM.ChambersandAllanR.Wilks(1988),``TheNewSLanguage''London:ChapmanHall.白皮书:JohnM.ChambersandTrevorJ.Hastie(1992),``StatisticalModelsinS''London:Chapman\&Hall.这本书中开始介绍S3,即第3代S绿皮书:JohnM.Chambers(1998),``ProgrammingwithData,''NewYork:Springer,ISBN0-387-98503-4这本书介绍了S4,即第4代S。R’fatherR语言的背景R语言的概述R语言的发展R语言的运用Scheme语言的荣耀Scheme语言是LISP语言的一个方言(或说成变种),与其他lisp不同的是scheme是可以编译成机器码的。它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,在国外广泛运用,就像国内的C++,Java,C那样受到商业领域的青睐。R’motherR语言的背景R语言的概述R语言的发展R语言的运用Scheme语言的荣耀Scheme的一个主要特性是可以像操作数据一样操作函数调用。Scheme其的主要目的是训练人的机器化思维。以其简洁的语言环境和大量的脑力思考而著称。主要的Scheme环境有:MITScheme、DrScheme.R’motherR语言的发展R语言的概述R语言的背景R语言的运用y发展水平x时间萌芽诞生婴儿期成长发展期现状思想火花胚胎时期①②③④⑤⑥R语言的发展R语言的概述R语言的背景R语言的运用①思想火花最早的时候,RossIhaka从一本书了解到了Scheme语言,Ross对Scheme非常感兴趣;大约与此同时,他获得了一版新S语言(见蓝皮书)的源代码,此时他注意到了Scheme和S语言二者之间的异同点。后来Ross开始准备用Scheme向别人演示词法作用域,但是由于手边没有Scheme的书,就用S来演示却失败了,这让他萌生了改进S语言的想法。R语言的发展R语言的概述R语言的背景R语言的运用②萌芽相当长一段时间之后,RossIhaka和RobertGentlemen在奥克兰大学成了同事,他们都对统计计算十分感兴趣,而且试图为他们的实验室寻找一个更好的软件。因为在商业软件中找不到他们想要的,这使Ross想到当初改进S语言的想法,于是他们决定自己开发一种语言。R语言的发展R语言的概述R语言的背景R语言的运用③胚胎时期1993年,Ross和Robert将R的部分二进制文件放到了卡耐基·梅隆大学统计系的Statlib中,并在S语言的新闻列表上发布了一个公告。随后有些人开始下载使用并给他们反馈,其中以苏黎世理工学院的MartinM最为突出。Martin极力劝说两位原作者公布源代码,让R成为自由软件。于是1995年6月R的源代码正式发布到了自由软件协会的FTP上。R语言的发展R语言的概述R语言的背景R语言的运用④诞生婴儿期随着开发的进行,程序版本的归档又成为问题。维也纳工业大学的KurtHornik承担了这份任务,在维也纳建立了R程序的归档,使得程序版本的发布变得更加规范。同时在世界各地也出现了R程序的镜像(如Statlib等)。R语言的发展R语言的概述R语言的背景R语言的运用⑤成长发展期于是1997年中期R核心团队成立了,成员包括:DouglasBates美国威斯康辛大学统计系教授PeterDalgaard丹麦哥本哈根大学公共卫生所副教授RobertGentleman美国西雅图哈清森肿瘤研究中心公共卫生部计算生物学项目带头人KurtHornik奥地利维也纳工业大学统计与数学系教授、主席RossIhaka新西兰奥克兰大学统计系副教授FriedrichLeisch德国慕尼黑大学统计系教授ThomasLumley美国华盛顿大学生物统计系副教授MartinMaechler苏黎世理工学院数学系高级研究员PaulMurrell新西兰奥克兰大学统计系高级讲师HeinerSchwarte原在德国杜伊斯堡·埃森大学(现已非核心成员)LukeTierney爱荷华大学统计与精算系教授R语言的发展R语言的概述R语言的背景R语言的运用⑥现状1)R源程序截止到本文写作时,R源程序已经更新了约70个版本,目前是2.8.0版,源程序大小由1997年的959K增大到了今天的大约16M(Window二进制安装程序文件约30M);从版本更新以及文件大小来看,R的发展速度的确非常快,而且整个软件系统的体积也保持着非常小的优势,这几乎是任何一门商业软件都无法比拟的。R语言的发展R语言的概述R语言的背景R语言的运用⑥现状2)邮件列表现今R的邮件列表仍然由苏黎世理工学院的MartinMachler提供支持,这些邮件列表分四大类:消息发布(R-announce)、附加包(R-help)、帮助(R-help)和R程序开发(R-devel)。R语言的发展R语言的概述R语言的背景R语言的运用⑥现状3)R核心团队2008年R核心团队成员数目增加到了19位,成员主要来自世界各地的大学如牛津大学、加拿大西安大略大学、意大利米兰大学等,也有来自公司企业的成员,如AT&T实验室的SimonUrbanek等。由于R的扩展性非常强,因此也吸引了大量用户编写自定义的函数包供更多人使用,这些附加包都可以从世界各地的CRAN镜像上下载。R语言的发展R语言的概述R语言的背景R语言的运用⑥现状4)R刊物R也有其刊物“RNews”,创办于2001年,至今已经发行23期,共发表论文205篇。该刊物主要介绍R的最新特征、CRAN的动态、附加包的说明短文、编程技巧、手册和FAQ中没有介绍的小提示以及R在数据分析中的应用示例。自2009年起,“RNews”将更名为“TheRJournal”。R语言的发展R语言的概述R语言的背景R语言的运用⑥现状5)R书籍据R官方网站不完全统计,与R语言相关的出版书籍已达68本,内容包括S语言介绍、统计编程、统计学相关领域的应用、统计模型、数据分析、统计图示和与R相关的其它软件应用等。R语言的发展R语言的概述R语言的背景R语言的运用⑥现状6)R会议从2004年起至今(2005年除外),R团队每年都会举办一次useR!会议,过去已经在奥地利、美国和德国举办了4次会议,每年参会人数和演讲篇数都在增多,例如最近一次在德国多特蒙德大学举办的useR!一共有超过400人参加、报告多达170场左右。此外,R团队每两年也会举办一次DSC会议(DirectionsinStatisticalComputing),讨论以R语言为重心的统计计算问题。R语言的发展R语言的概述R语言的背景R语言的运用虽说R语言诞生于新西兰,但后来服务器架设到了奥地利,而现在Windows主程序的维护者在加拿大、Windows附加包的维护者在德国、MacOS版程序的维护者在美国、邮件列表维护者在瑞士……这样一个形式松散却有着共同目标的群体,十年来以志愿者的身份坚持不懈推动着R语言的发展;众多统计学或者相关领域的程序员也纷纷贡献自己的力量,将大量统计方法以附加包的形式发布出来,使其他不擅长编程的用户也可以以最快的速度用上最新的统计方法,而封闭源代码的商业软件则很难拥有如此强劲的推动力量:现有的统计软件可能没有哪一种能够拥有超过1500个附加程序包。R语言的运用R语言的概述R语言的背景语言的发展小例子例如,我们用函数t·test对一批样本量为10、来自正态分布的样本数据作t检验。……R语言的运用R语言的概述R语言的背景语言的发展R语言的运用R继承了S语言关于向量化操作以及数据结构等诸多优势,加上它面向对象的特点,所以R语言在统计编程和统计图形方面显得非常灵活。传统商业软件的统计模型在R中都是以对象的形式存在,我们通常看到的大篇幅统计报告输出对R来说只是对象的某种特定表现形式。R语言的运用R语言的概述R语言的背景语言的发展R语言的运用正因R语言如此灵活,所以有诸多相关项目,比较有影响的有Bioconductor(生物信息学的应用)、RForge(程序开发者的场所)和RGrap

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功