1 / 34

欢迎走入 R 语言世界!

欢迎走入 R 语言世界!. 谢益辉、郑冰. 2008 年 12 月 13 日. R 语言的概述. R 语言的背景. R 语言的发展. R 语言的运用. R 语言的概述. R 语言的概述. R是一门用于统计计算和作图的语言,受S 语言和 Scheme 语言影响发展而来 。 R语言最初由新西兰奥克兰大学统计系的Robert Gentleman和Ross Ihaka合作编写。. R 语言的背景. R 语言的发展. R 语言的运用. R 语言的概述. R 语言的概述.

farhani
Download Presentation

欢迎走入 R 语言世界!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 欢迎走入R语言世界! 谢益辉、郑冰 2008年12月13日

  2. R语言的概述 R语言的背景 R语言的发展 R语言的运用

  3. R语言的概述 R语言的概述 R是一门用于统计计算和作图的语言,受S语言和Scheme语言影响发展而来。 R语言最初由新西兰奥克兰大学统计系的RobertGentleman和Ross Ihaka合作编写。 R语言的背景 R语言的发展 R语言的运用

  4. R语言的概述 R语言的概述 R语言具有免费、开源及统计模块齐全的特征,已被国外大量学术和科研机构采用,其应用范围涵盖了数据挖掘、机器学习、计量经济学、实证金融学、统计遗传学、自然语言处理、心理计量学和空间统计学诸多领域。 R语言的背景 R语言的发展 R语言的运用

  5. R语言的概述 R语言的概述 http://www.r-project.org ·关于 ·下载镜像(中国香港有一个镜像网站 ·R组织 ·文档(官方文档、用户贡献文档、卡片) ·其他 R语言的背景 R语言的发展 R语言的运用

  6. 自由的GNU R语言的概述 GNU是一套完全由自由软件构成的计算机操作系统.其名称是“GNU’s Not Unix’'的递归缩写。 GNU由Richard Stallman发起,后来在“GNU计划”下开发,目前已经包含大量的自由软件。 R语言的背景 R语言的发展 R语言的运用

  7. 自由的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语言的运用

  8. 自由的GNU R语言的概述 “自由”: ①以任何目的运行此程序的自由; ②以学习程序工作机理为目的,对程序进行修改的自由; ③再发行复制件的自由; ④改进此程序,并公开发布改进的自由; R语言的背景 R语言的发展 R语言的运用

  9. 自由的GNU R语言的概述 对统计的意义: 能够对现实生活中复杂的数据一步步的去处理,并且随时以数值或图形的形式观察中间结果,以便我们决定下一步分析应该朝怎样的方向进行。 R语言的背景 R语言的发展 R语言的运用

  10. 自由的GNU R语言的概述 对统计的意义: 避免了像商业软件在固定的分析过程中存在的问题 ①无法得到取截尾均值作为统计量 ②统计分析方法的归类不清 R语言的背景 R语言的发展 R语言的运用

  11. 自由的GNU 对统计的意义: 避免了像商业软件一样源代码不被公开,其中的具体程序过程只有内部人员清楚,用户对此毫不知情。 用户可以得知其中的计算会暗含着何种漏洞或错误。 Excel为例,有时能计算出负的方差,有时能产生有严重缺陷的随机数等等。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  12. 自由的GNU 总之: 一是可自由计算任何想计算的统计量(包括图形); 二是保证用户能够使用正确的计算机程序,或换句话说,保证用户清楚他们利用计算机究竟在做什么。如果用户被剥夺了这种自由,那么统计分析工作的效率和信度都将大打折扣。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  13. R’ father S语言的荣耀 S语言是一门用于数据分析和图示的高层语言。 1998年美国计算机学会(ACM)授予了S语言的主要设计者John M. Chambers~“软件系统奖” //www.acm.org/announcements/ss99.html,用以表彰S取得的成就。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  14. R’ father 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语言的概述 R语言的背景 R语言的发展 R语言的运用

  15. Scheme语言的荣耀 R’ mother Scheme语言是LISP语言的一个方言(或说成变种),与其他lisp不同的是scheme是可以编译成机器码的。 它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,在国外广泛运用,就像国内的C++,Java,C那样受到商业领域的青睐。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  16. Scheme语言的荣耀 R’ mother Scheme的一个主要特性是可以像操作数据一样操作函数调用。 Scheme 其的主要目的是训练人的机器化思维。以其简洁的语言环境和大量的脑力思考而著称。 主要的Scheme环境有:MIT Scheme、DrScheme. R语言的概述 R语言的背景 R语言的发展 R语言的运用

  17. ⑥ 现状 成长发展期 ④ 诞生婴儿期 ③ 胚胎时期 ② ① 萌芽 思想火花 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  18. ①思想火花 最早的时候,Ross Ihaka从一本书了解到了Scheme语言,Ross对Scheme非常感兴趣;大约与此同时,他获得了一版新S语言(见蓝皮书)的源代码,此时他注意到了Scheme和S语言二者之间的异同点。 后来Ross开始准备用Scheme向别人演示词法作用域,但是由于手边没有Scheme的书,就用S来演示却失败了,这让他萌生了改进S语言的想法。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  19. ②萌芽 相当长一段时间之后,Ross Ihaka和Robert Gentlemen在奥克兰大学成了同事,他们都对统计计算十分感兴趣,而且试图为他们的实验室寻找一个更好的软件。 因为在商业软件中找不到他们想要的,这使Ross想到当初改进S语言的想法,于是他们决定自己开发一种语言。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  20. ③胚胎时期 1993年,Ross和Robert将R的部分二进制文件放到了卡耐基·梅隆大学统计系的Statlib中,并在S语言的新闻列表上发布了一个公告。 随后有些人开始下载使用并给他们反馈,其中以苏黎世理工学院的MartinM最为突出。 Martin极力劝说两位原作者公布源代码,让R成为自由软件。于是1995年6月R的源代码正式发布到了自由软件协会的FTP上。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  21. ④诞生婴儿期 随着开发的进行,程序版本的归档又成为问题。 维也纳工业大学的Kurt Hornik承担了这份任务,在维也纳建立了R程序的归档,使得程序版本的发布变得更加规范。 同时在世界各地也出现了R程序的镜像(如Statlib等)。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  22. ⑤成长发展期 于是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语言的运用

  23. ⑥现状 1)R源程序 截止到本文写作时,R源程序已经更新了约70个版本,目前是2.8.0版,源程序大小由1997年的959K增大到了今天的大约16M(Window二进制安装程序文件约30M);从版本更新以及文件大小来看,R的发展速度的确非常快,而且整个软件系统的体积也保持着非常小的优势,这几乎是任何一门商业软件都无法比拟的。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  24. ⑥现状 R语言的概述 2)邮件列表 现今R的邮件列表仍然由苏黎世理工学院的Martin Machler提供支持,这些邮件列表分四大类:消息发布(R-announce)、附加包(R-help)、帮助(R-help)和R程序开发(R-devel)。 R语言的背景 R语言的发展 R语言的运用

  25. ⑥现状 3)R核心团队 2008年R核心团队成员数目增加到了19位,成员主要来自世界各地的大学如牛津大学、加拿大西安大略大学、意大利米兰大学等,也有来自公司企业的成员,如AT&T实验室的Simon Urbanek等。由于R的扩展性非常强,因此也吸引了大量用户编写自定义的函数包供更多人使用,这些附加包都可以从世界各地的CRAN镜像上下载。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  26. ⑥现状 4)R刊物 R也有其刊物“R News”,创办于2001年,至今已经发行23期,共发表论文205篇。该刊物主要介绍R的最新特征、CRAN的动态、附加包的说明短文、编程技巧、手册和FAQ中没有介绍的小提示以及R在数据分析中的应用示例。 自2009年起,“R News”将更名为“The R Journal”。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  27. ⑥现状 5)R书籍 据R官方网站不完全统计,与R语言相关的出版书籍已达68本,内容包括S语言介绍、统计编程、统计学相关领域的应用、统计模型、数据分析、统计图示和与R相关的其它软件应用等。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  28. ⑥现状 6)R会议 从2004年起至今(2005年除外),R团队每年都会举办一次useR!会议,过去已经在奥地利、美国和德国举办了4次会议,每年参会人数和演讲篇数都在增多,例如最近一次在德国多特蒙德大学举办的useR!一共有超过400人参加、报告多达170场左右。 此外,R团队每两年也会举办一次DSC会议(Directions in Statistical Computing),讨论以R语言为重心的统计计算问题。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  29. 虽说R语言诞生于新西兰,但后来服务器架设到了奥地利,而现在Windows主程序的维护者在加拿大、Windows附加包的维护者在德国、Mac OS版程序的维护者在美国、邮件列表维护者在瑞士…… 这样一个形式松散却有着共同目标的群体,十年来以志愿者的身份坚持不懈推动着R语言的发展;众多统计学或者相关领域的程序员也纷纷贡献自己的力量,将大量统计方法以附加包的形式发布出来,使其他不擅长编程的用户也可以以最快的速度用上最新的统计方法,而封闭源代码的商业软件则很难拥有如此强劲的推动力量:现有的统计软件可能没有哪一种能够拥有超过1500个附加程序包。 R语言的概述 R语言的背景 R语言的发展 R语言的运用

  30. 小例子 R语言的概述 例如,我们用函数t·test对一批样本量为10、来自正态分布的样本数据作t检验。 …… R语言的背景 语言的发展 R语言的运用

  31. R语言的运用 R继承了S语言关于向量化操作以及数据结构等诸多优势,加上它面向对象的特点,所以R语言在统计编程和统计图形方面显得非常灵活。 传统商业软件的统计模型在R中都是以对象的形式存在,我们通常看到的大篇幅统计报告输出对R来说只是对象的某种特定表现形式。 R语言的概述 R语言的背景 语言的发展 R语言的运用

  32. R语言的运用 正因R语言如此灵活,所以有诸多相关项目,比较有影响的有Bioconductor(生物信息学的应用)、R Forge(程序开发者的场所)和R Graph Gallery(R图库)等。 这些信息可以在http://www.r-project.org/otherprojects.html找到。 R语言的概述 R语言的背景 语言的发展 R语言的运用

  33. 总结 希望通过本文的介绍,让更多 中国用户了解R语言,并利用它在统计分析上的优势为自己的专业问题提供灵活的解答,而不是千篇一律陷在固定分析过程中降低数据利用效率。 同时我们也希望有更多擅长计算机编程的人士为这片“开源的海洋”贡献自己的力量,打造出一个多样化的统计分析世界。

  34. Thank You !

More Related