1.1 R简介
R语言是从S统计绘图语言演变而来的,S语言在20世纪70年代诞生于贝尔实验室,由Rick Becker、John Chambers和Allan Wilks开发。基于S语言开发的商业软件Splus,可以方便地编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年,新西兰奥克兰大学统计系的Robert Gentleman和Ross Ihaka基于S语言的源代码,编写了一个能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。
1.1.1 R特点
与起源于贝尔实验室的S语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。R的特点如图1-1所示。
▲图1-1 R的特点
具体来说,R有以下7个方面的特点。
(1)完全免费,软件本身及程序包的源代码公开。多数商业统计软件价格不菲,投入成千上万美元都是有可能的。
(2)丰富的资源,涵盖了多种行业数据分析中几乎所有的方法。R是一个全面的统计研究平台,提供了各式各样的数据分析技术,几乎任何类型的数据分析工作皆可在R中完成。
(3)交互式平台。R是一个可进行交互式数据分析和探索的强大平台,任意一个分析步骤的结果均可被轻松保存、操作,并作为进一步分析的输入。有各式各样的图形用户界面工具通过菜单和对话框提供了与R语言同等的功能。
(4)扩展性强。编写函数和程序包十分方便,跨平台,可以胜任复杂的数据分析、绘制精美的图形。R拥有顶尖水准的制图功能。如果希望复杂数据可视化,那么R拥有最全面且最强大的一系列可用功能。
(5)适用性强。R可运行于多种平台之上,包括Windows、UNIX和Mac OS X。这基本上意味着它可以运行于你所能拥有的任何计算机上。R可以轻松地从各种类型的数据源导入数据,包括文本文件、数据库管理系统、统计软件,乃至专门的数据仓库。它同样可以将数据输出并写入这些系统中。
(6)应用面广。R适用于几乎任何应用的需要。目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。R可用来解决自然科学和社会科学领域中的各种问题,如统计学、社会学、经济学、生物、医疗卫生等,其功能包括图形显示、数据分析、数据输入、数据检查、数据管理、报表生成、统计计算、市场研究、销售管理、供应管理、调查分析和建立预测模型等。
(7)完备的帮助系统。每个函数都有统一格式的帮助,运行实例。
1.1.2 R支持资料
R的官方网页拥有大量英文学习资源,还可以参考http://cran.r-project.org/other-docs.html中文翻译文档。统计之都BBS是一个不错的学习R的中文网站,你可以在这个论坛中找到大量学习资料或直接提出问题同大家探讨。
R的帮助系统非常强大,可以直接使用\?topic或help(topic)来获取topic的帮助信息,也可使用help.search("topic")来搜索帮助系统。如果你只知道函数的部分名称,那么可以使用apropos("tab")来搜索得到载入内存所有包含tab字段的函数。如果还没有得到需要的资料,还有R Site Search:http://finzi.psych.upenn.edu/search.html,等价于在R平台上使用RSiteSearch()函数。
正如大家应用R的过程中看到的,大部分经典的R书籍都为英文版的,例如:
Modern Applied Statistics with S(Venables and Ripley)
The New S Language: A Programming Environment for Data Analysis and Graphics(Richard A. Becker,John M. Chambers,Allan R.Wilks)
A Handbook of Statistical Analysis Using R(Brian S. Everitt,Torsten Hothorn)
Data Analysis and Graphics using R(Maindonald and Braun)
Introductory Statistics with R(Dalgaard)