1.1 为何要使用R?
与起源于贝尔实验室的S语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。但是,市面上也有许多其他流行的统计和制图软件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。为何偏偏要选择R?
R有着非常多值得推荐的特性。
多数商业统计软件价格不菲,投入成千上万美元都是可能的。而R是免费的!如果你是一位教师或一名学生,好处显而易见。
R是一个全面的统计研究平台,提供了各式各样的数据分析技术。几乎任何类型的数据分析工作皆可在R中完成。
R拥有顶尖水准的制图功能。如果希望复杂数据可视化,那么R拥有最全面且最强大的一系列可用功能。
R是一个可进行交互式数据分析和探索的强大平台。其核心设计理念就是支持图1-1中所概述的分析方法。举例来说,任意一个分析步骤的结果均可被轻松保存、操作,并作为进一步分析的输入。
从多个数据源获取并将数据转化为可用的形式,可能是一个富有挑战性的议题。R可以轻松地从各种类型的数据源导入数据,包括文本文件、数据库管理系统、统计软件,乃至专门的数据仓库。它同样可以将数据输出并写入到这些系统中。
R是一个无与伦比的平台,在其上可使用一种简单而直接的方式编写新的统计方法。它易于扩展,并为快速编程实现新方法提供了一套十分自然的语言。
R囊括了在其他软件中尚不可用的、先进的统计计算例程。事实上,新方法的更新速度是以周来计算的。如果你是一位SAS用户,想象一下每隔几天就获得一个新SAS过程的情景。
如果你不想学习一门新的语言,有各式各样的GUI(Graphical User Interface,图形用户界面)工具通过菜单和对话框提供了与R语言同等的功能。
R可运行于多种平台之上,包括Windows、UNIX和Mac OS X。这基本上意味着它可以运行于你所能拥有的任何计算机上。(本人曾在偶然间看到过在iPhone上安装R的教程,让人佩服,但这也许不是一个好主意。)
图1-2是展示R制图功能的一个示例。使用一行代码做出的这张图,说明了蓝领工作、白领工作和专业工作在收入、受教育程度以及职业声望方面的关系。从专业角度讲,这是一幅使用不同的颜色和符号表示不同分组的散点图矩阵,带有两类拟合曲线(线性回归和局部加权回归)、置信椭圆以及两种对密度的展示(核密度估计和轴须图)。另外,在每个散点图中都自动标出了值最大的离群点。如果这些术语对你来说很陌生也不必担心。我们将在后续各章中陆续谈及它们。这里请暂且相信我,它们真的非常酷。(搞统计的人读到这里时估计已经垂涎三尺了。)
图1-2 蓝领(bc)、白领(wc)、专业工作者(prof)的收入、受教育程度和职业声望之间的关系。资料来源:John Fox编写的car包(函数scatterplot Matrix
)。使用其他统计编程语言很难绘制类似的图形,但在R中只需一到两行代码
图1-2主要表明了以下几点。
受教育程度(education)、收入(income)、职业声望(prestige)呈线性相关。
就总体而言,蓝领工作者有着更低的受教育程度、收入和职业声望;反之,专业工作者有着更高的受教育程度、收入和职业声望。白领工作者介于两者之间。
有趣的例外是,铁路工程师(RR.engineer)的受教育程度较低,但收入较高,而牧师(minister)的职业声望高,收入却较低。
受教育程度和职业声望(较轻微地)呈现双峰分布,高值和低值数据多于中间的数据。
第8章将会进一步讨论这类图形。重要的是,R能够让你以一种简单而直接的方式创建优雅、信息丰富、高度定制化的图形。而使用其他统计语言创建类似的图形不仅费时费力,而且可能根本无法做到。
可惜的是,R的学习曲线较为陡峭。因为它的功能非常丰富,所以文档和帮助文件也相当多。另外,由于许多功能都是由独立贡献者编写的可选模块提供的,这些文档可能比较零散而且很难找到。事实上,要掌握R的所有功能,可以说是一项挑战。
本书的目标是让读者快速而轻松地学会使用R。我们将遍览R的许多功能,介绍到的内容足以让你开始着手分析数据,并且在需要你深入了解的地方给出参考材料。下面我们从R的安装开始学习。