图灵社区按

TEAP是什么?TEAP是Turingbook Early Access Program的简称,即早期试读,它公布的是图灵在途新书未经编辑的内容。一本书的翻译周期约为3到6个月,如果在翻译过程中,译者就能与读者进行沟通和交流,对整本书的翻译品质是有帮助的。通过TEAP,读者可以提前阅读将来才能出版的内容,译者也能收获宝贵的反馈意见,改进翻译,提高质量。

本书原名为R in Action,中文暂定名为《R实战》,本文节选自原书第1章第1节。

本段内容由肖楠(http://www.road2stat.com)翻译。

与起源于贝尔实验室的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)工具通过菜单和对话框提供了与R语言同等的功能。

  • R可运行于多种平台之上,包括Windows、Unix和Mac OS X。基本意味着可以运行于你所能拥有的任何计算机上(本人曾在偶然间看到过在iPhone上安装R的教程,让人佩服,但这也许不是一个好主意)。

图1.2是展示R作图功能的一个示例。使用一行代码作出的这张图,说明了蓝领工作、白领工作和专业工作在收入、受教育程度以及职业声望方面的关系。技术上说,这是一幅使用不同的颜色和符号表示不同分组的散点图矩阵,带有两类拟合曲线(线性回归和局部加权回归)、置信椭圆、以及两种对密度的展示(核密度估计和坐标轴须)。另外,在每个散点图中都自动标出了值最大的离群点。如果这些术语对你来说很陌生也不必担心。我们将在后续章节中陆续谈及它们。这里请暂且相信我,它们真的非常酷(统计学家读到这里时估计已经垂涎三尺了)。

此图主要表明了以下几点:

  • 受教育程度(education)、收入(income)、职业声望(prestige)呈线性相关。

  • 就总体而言,蓝领工作有着更低的受教育程度、收入和职业声望;反之,专业工作有着更高的受教育程度、收入和职业声望。白领工作介于两者之间。

  • 有趣的例外是,铁路工程师(RR.engineers)的受教育程度较低,但收入较高,而牧师(minister)的职业声望高,收入却较低。

  • 受教育程度和职业声望(较轻微地)呈现双峰分布,高值和低值数据多于中间的数据。

 图1.2 蓝领(bc)、白领(wc)、专业工作(prof)的收入,受教育程度和职业声望之间的关系。资料来源:John Fox编写的car包(函数scatterplotMatrix)。使用其它统计编程语言很难绘制类似的图形,但在R中只需一到两行代码。 图1.2 蓝领(bc)、白领(wc)、专业工作(prof)的收入,受教育程度和职业声望之间的关系。资料来源:John Fox编写的car包(函数scatterplotMatrix)。使用其它统计编程语言很难绘制类似的图形,但在R中只需一到两行代码。

第8章将会进一步讨论这类图形。重要的是,R能够让你以一种简单而直接的方式创建优雅、有深度、高度定制化的图形。而使用其他统计软件创建类似的图形不仅费时费力,而且可能根本无法做到。

可惜的是,R的学习曲线较为陡峭。因为它的功能非常丰富,所以文档和帮助文件也相当多。另外,由于许多功能都是由独立贡献者编写的可选模块提供的,这些文档可能比较零散而且很难找到。事实上,要掌握R的所有功能,可以说是一项挑战。

本书的目标是让读者快速而轻松地学会使用R。我们将遍览R的许多功能,这些资料的覆盖度足以让你开始着手分析数据,并且在需要你去深入了解的位置给出了参考材料。下面我们从R的安装开始学习。