目录 XIX 15.6完整实例分析(行删除) …326 16.4.5 rggobi 355 15.7多重插补…327 16.5小结… …356 15.8处理缺失值的其他方法 331 15.8.1成对删除…331 后记:探索R的世界 357 15.82简单(非随机)插补…332 332 附录A图形用户界面… …359 15.9小结… 第16章高级图形进阶 …333 附录B自定义启动环境 …362 16.1R中的四种图形系统 …333 附录C从R中导出数据…364 16.21 attice包 …334 16.2.1条件变量 …338 附录D制作出版级品质的输出…366 16.2.2面板函数 339 16.2.3分组变量…342 附录ER中的矩阵运算 …374 16.2.4图形参数…345 16.2.5页面摆放…346 附录F本书中用到的扩展包376 16.3g9p1ot2包… …347 16.4交互式图形… …351 附录G处理大数据 ……381 16.4.1与图形交互:鉴别点…351 16.4.2p1 aywith…352 附录H更新R…383 16.4.31 atticist…353 16.4.4ip1ots包的交互图形…354 参考文献 …385 图灵社区会员matrixvirus(matrixvirus@163.com))专享尊重版权
目 录 XIX 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17 15.6 完整实例分析(行删除) ...................326 15.7 多重插补..............................................327 15.8 处理缺失值的其他方法.......................331 15.8.1 成对删除 ................................331 15.8.2 简单(非随机)插补 .............332 15.9 小结 .....................................................332 第 16 章 高级图形进阶...............................333 16.1 R 中的四种图形系统 ...........................333 16.2 lattice 包 .........................................334 16.2.1 条件变量 ................................338 16.2.2 面板函数 ................................339 16.2.3 分组变量 ................................342 16.2.4 图形参数 ................................345 16.2.5 页面摆放 ................................346 16.3 ggplot2 包 .........................................347 16.4 交互式图形..........................................351 16.4.1 与图形交互:鉴别点 .............351 16.4.2 playwith ..............................352 16.4.3 latticist............................353 16.4.4 iplots 包的交互图形 ..........354 16.4.5 rggobi ..................................355 16.5 小结 .....................................................356 后记:探索 R 的世界.....................................357 附录 A 图形用户界面..................................359 附录 B 自定义启动环境 .............................362 附录 C 从 R 中导出数据 ............................364 附录 D 制作出版级品质的输出.................366 附录 E R 中的矩阵运算..............................374 附录 F 本书中用到的扩展包 .....................376 附录 G 处理大数据 .....................................381 附录 H 更新 R ..............................................383 参考文献...........................................................385 图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
Part l 第一部分 入 门 欢迎阅读本书!R是现今最受欢迎的数据分析和可视化平台之一。它是自由的开源软件, 并同时提供Windows、Mac OS X和Linux系统的版本。通读本书,你将掌握精通这个功能全面 的软件所需的技能,有效地使用它分析自己的数据。 本书共分四部分。第一部分涵盖了软件的安装、软件界面的操作、数据的导入,以及如何 将数据修改成可供进一步分析的格式等基本知识。 第一章将带你熟悉R环境。这一章首先是R的概览,介绍使其成为强大的现代数据分析平 台的独有特性。在简要介绍了如何获取和安装R之后,我们通过一系列的简单示例探索了R的 用户界面。接着,你将学习如何通过可从在线仓库中免费下载的扩展(称为用户贡献包)来增 强基本安装的功能。最后,本章以一个示例结尾,让你自测学到的新技术。 熟悉了R的界面之后,下一个挑战是将数据导入到程序中。在当今这个信息丰富的世界中, 数据的来源和格式多种多样。第2章全面介绍向R中导入数据的多种方式。此章的前半部分介 绍了R用以存储数据的各种数据结构,并描述了如何手工输入数据。后半部分讨论了从文本文件、 网页、电子表格、统计软件和数据库导入数据的方法。 从工作流程的观点考虑,下一步理应讨论数据管理和数据清理问题。然而,许多第一次接 触R的用户都对其强大的图形功能表现出了浓厚的兴趣。为了不扫你的兴,第3章我们直接开 始探索图形的绘制问题。这一章对创建图形、自定义图形、以各种格式保存图形的方法进行了 综述,描述了如何设定图形中使用的颜色、符号、线条类型、字体、坐标轴、标题、标签以及 图例,最后还介绍了将多个图形组合为单个图形的方法。 尝试过R的图形功能之后,我们再重返数据分析的正题。由于数据很少以直接可用的格式 出现,因此在开始解决感兴趣的问题之前,我们经常不得不将大量时间花在从不同的数据源组 合数据、清理脏数据(误编码的数据、不匹配的数据、含缺失值的数据),以及新变量(组合后 的变量、变换后的变量、重编码的变量)的创建上。第4章讲述了R中基本的数据管理任务, 包括数据集的排序、合并、取子集,以及变量的变换、重编码和删除。 图灵社区会员matrixvirus(matrixvirus@l63.com)专享尊重版权
Part 1 第一部分 欢迎阅读本书! R 是现今最受欢迎的数据分析和可视化平台之一。它是自由的开源软件, 并同时提供 Windows、Mac OS X 和 Linux 系统的版本。通读本书,你将掌握精通这个功能全面 的软件所需的技能,有效地使用它分析自己的数据。 本书共分四部分。第一部分涵盖了软件的安装、软件界面的操作、数据的导入,以及如何 将数据修改成可供进一步分析的格式等基本知识。 第一章将带你熟悉 R 环境。这一章首先是 R 的概览,介绍使其成为强大的现代数据分析平 台的独有特性。在简要介绍了如何获取和安装 R 之后,我们通过一系列的简单示例探索了 R 的 用户界面。接着,你将学习如何通过可从在线仓库中免费下载的扩展(称为用户贡献包)来增 强基本安装的功能。最后,本章以一个示例结尾,让你自测学到的新技术。 熟悉了 R 的界面之后,下一个挑战是将数据导入到程序中。在当今这个信息丰富的世界中, 数据的来源和格式多种多样。第 2 章全面介绍向 R 中导入数据的多种方式。此章的前半部分介 绍了 R 用以存储数据的各种数据结构,并描述了如何手工输入数据。后半部分讨论了从文本文件、 网页、电子表格、统计软件和数据库导入数据的方法。 从工作流程的观点考虑,下一步理应讨论数据管理和数据清理问题。然而,许多第一次接 触 R 的用户都对其强大的图形功能表现出了浓厚的兴趣。为了不扫你的兴,第 3 章我们直接开 始探索图形的绘制问题。这一章对创建图形、自定义图形、以各种格式保存图形的方法进行了 综述,描述了如何设定图形中使用的颜色、符号、线条类型、字体、坐标轴、标题、标签以及 图例,最后还介绍了将多个图形组合为单个图形的方法。 尝试过 R 的图形功能之后,我们再重返数据分析的正题。由于数据很少以直接可用的格式 出现,因此在开始解决感兴趣的问题之前,我们经常不得不将大量时间花在从不同的数据源组 合数据、清理脏数据(误编码的数据、不匹配的数据、含缺失值的数据),以及新变量(组合后 的变量、变换后的变量、重编码的变量)的创建上。第 4 章讲述了 R 中基本的数据管理任务, 包括数据集的排序、合并、取子集,以及变量的变换、重编码和删除。 入 门 图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
2第一部分入门 第5章在第4章的基础上,进一步讲解了数据管理中数值(算术运算、三角运算和统计运 算)函数和字符处理(字符串取子集、连接和替换)函数的使用。为了阐明许多相关函数的用法, 整章使用了一个综合示例进行讲解。接下来是关于控制结构(循环、条件执行)的讨论,你将 学到如何编写R函数。编写自定义函数能够让你将许多程序执行步骤封装在单个的函数中进行 灵活调用,这大大拓展了R的功能。因为数据的重塑和整合对于为进一步分析而准备数据的阶 段通常很有用,所以最后将讨论一些重组(重塑)数据和整合数据的强大方法。 学习完第一部分之后,你将完全熟悉R环境的编程,并可掌握输入和访问数据、清理数据, 以及为进一步分析做数据准备所需的技术。另外,你还会获得创建、自定义和保存多种图形的 经验。 图灵社区会员matrixvirus(matrixvirus@l63.com)专享尊重版权
第 5 章在第 4 章的基础上,进一步讲解了数据管理中数值(算术运算、三角运算和统计运 算)函数和字符处理(字符串取子集、连接和替换)函数的使用。为了阐明许多相关函数的用法, 整章使用了一个综合示例进行讲解。接下来是关于控制结构(循环、条件执行)的讨论,你将 学到如何编写 R 函数。编写自定义函数能够让你将许多程序执行步骤封装在单个的函数中进行 灵活调用,这大大拓展了 R 的功能。因为数据的重塑和整合对于为进一步分析而准备数据的阶 段通常很有用,所以最后将讨论一些重组(重塑)数据和整合数据的强大方法。 学习完第一部分之后,你将完全熟悉 R 环境的编程,并可掌握输入和访问数据、清理数据, 以及为进一步分析做数据准备所需的技术。另外,你还会获得创建、自定义和保存多种图形的 经验。 2 第一部分 入门 图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
第1章 R语言介绍 本章内容 口R的安装 口熟悉R语言 口运行R程序 我们分析数据的方式在近年来发生了令人瞩目的变化。随着个人电脑和互联网的出现,可获 取的数据量有了非常可观的增长。商业公司拥有TB级的客户交易数据,政府、学术团体以及私 立研究机构同样拥有各类研究课题的大量档案和调查数据。从这些海量数据中收集信息(更不用 说发现规律)已经成为了一项产业。同时,如何以容易让人理解和消化的方式呈现这些信息也日 益富有挑战性。 数据分析科学(统计学、计量心理学、计量经济学、机器学习)的发展一直与数据的爆炸式 增长保持同步。远在个人电脑和互联网发端之前,学术研究人员就已经开发出了很多新的统计方 法,并将其研究成果以论文的形式发表在专业期刊上。这些方法可能需要很多年才能够被程序员 改写并整合到广泛用于数据分析的统计软件中。而如今,新的方法层出不穷。统计研究者经常在 人们常访问的网站上发表新方法和改进的方法,并附上相应的实现代码。 个人电脑的出现还对我们分析数据的方式产生了另外一种影响。当数据分析需要在大型机上 完成的时候,机时非常宝贵难求。分析师们会小心地设定可能用到的所有参数和选项,再让计算 机执行计算。程序运行完毕后,输出的结果可能长达几十甚至几百页。之后,分析师会仔细筛查 整个输出,去芜存菁。许多受欢迎的统计软件正是在这个时期开发出来的。直到现在,统计软件 依然在一定程度上沿袭了这种处理方式。 随着个人电脑将计算变得廉价且便捷,现代数据分析的方式发生了变化。与过去一次性设置 好完整的数据分析过程不同,现在这个过程已经变得高度交互化,每一阶段的输出都可以充当下 一阶段的输入。一个典型的数据分析过程的示例见图1-1。在任何时刻,这个循环都可能在进行 着数据变换、缺失值插补、变量增加或删除,甚至重新执行整个过程。当分析师认为他已经深入 地理解了数据,并且可以回答所有能够回答的相关问题时,这个过程即告结束。 个人电脑的出现(特别是高分辨率显示器的普及)同样对理解和呈现分析结果产生了重大影 响。一图胜千言,绝对如此!人类非常擅长通过视觉获取有用信息。现代数据分析也日益依赖通 图灵社区会员matrixvirus(matrixvirus@163.com))专享尊重版权
1.1 为何要使用 R? 3 1 2 3 4 5 16 6 7 8 9 10 11 12 13 14 15 R语言介绍 本章内容 R的安装 熟悉R语言 运行R程序 我们分析数据的方式在近年来发生了令人瞩目的变化。随着个人电脑和互联网的出现,可获 取的数据量有了非常可观的增长。商业公司拥有TB级的客户交易数据,政府、学术团体以及私 立研究机构同样拥有各类研究课题的大量档案和调查数据。从这些海量数据中收集信息(更不用 说发现规律)已经成为了一项产业。同时,如何以容易让人理解和消化的方式呈现这些信息也日 益富有挑战性。 数据分析科学(统计学、计量心理学、计量经济学、机器学习)的发展一直与数据的爆炸式 增长保持同步。远在个人电脑和互联网发端之前,学术研究人员就已经开发出了很多新的统计方 法,并将其研究成果以论文的形式发表在专业期刊上。这些方法可能需要很多年才能够被程序员 改写并整合到广泛用于数据分析的统计软件中。而如今,新的方法层出不穷。统计研究者经常在 人们常访问的网站上发表新方法和改进的方法,并附上相应的实现代码。 个人电脑的出现还对我们分析数据的方式产生了另外一种影响。当数据分析需要在大型机上 完成的时候,机时非常宝贵难求。分析师们会小心地设定可能用到的所有参数和选项,再让计算 机执行计算。程序运行完毕后,输出的结果可能长达几十甚至几百页。之后,分析师会仔细筛查 整个输出,去芜存菁。许多受欢迎的统计软件正是在这个时期开发出来的。直到现在,统计软件 依然在一定程度上沿袭了这种处理方式。 随着个人电脑将计算变得廉价且便捷,现代数据分析的方式发生了变化。与过去一次性设置 好完整的数据分析过程不同,现在这个过程已经变得高度交互化,每一阶段的输出都可以充当下 一阶段的输入。一个典型的数据分析过程的示例见图1-1。在任何时刻,这个循环都可能在进行 着数据变换、缺失值插补、变量增加或删除,甚至重新执行整个过程。当分析师认为他已经深入 地理解了数据,并且可以回答所有能够回答的相关问题时,这个过程即告结束。 个人电脑的出现(特别是高分辨率显示器的普及)同样对理解和呈现分析结果产生了重大影 响。一图胜千言,绝对如此!人类非常擅长通过视觉获取有用信息。现代数据分析也日益依赖通 第1章 图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
4第1章R语言介绍 过呈现图形来揭示含义和表达结果。 导人数据 数据准备、探索和清理 拟合一个统计模型 评估模型拟合结果 模型的交叉验证 在新据上评估模型预测效果 形成报告 图1-1典型的数据分析步骤 总而言之,今天的数据分析人士需要从广泛的数据源(数据库管理系统、文本文件、统计软 件以及电子表格)获取数据、将数据片段融合到一起、对数据做清理和标注、用最新的方法进行 分析、以有意义有吸引力的图形化方式展示结果,最后将结果整合成令人感兴趣的报告并向利益 相关者和公众发布。通过下面的介绍你会看到,R正是一个适合完成以上目标的理想而又功能全 面的软件。 1.1为何要使用R? 与起源于贝尔实验室的$语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是 一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。但是,市面上也有 许多其他流行的统计和制图软件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。为何 偏偏要选择R? R有着非常多值得推荐的特性。 口多数商业统计软件价格不菲,投入成千上万美元都是可能的。而R是免费的!如果你是一 位教师或一名学生,好处显而易见。 口R是一个全面的统计研究平台,提供了各式各样的数据分析技术。几乎任何类型的数据分 析工作皆可在R中完成。 口R拥有顶尖水准的制图功能。如果希望复杂数据可视化,那么R拥有最全面且最强大的一 系列可用功能。 图灵社区会员matrixvirus(matrixvirus@163.com))专享尊重版权
4 第 1 章 R 语言介绍 过呈现图形来揭示含义和表达结果。 图1-1 典型的数据分析步骤 总而言之,今天的数据分析人士需要从广泛的数据源(数据库管理系统、文本文件、统计软 件以及电子表格)获取数据、将数据片段融合到一起、对数据做清理和标注、用最新的方法进行 分析、以有意义有吸引力的图形化方式展示结果,最后将结果整合成令人感兴趣的报告并向利益 相关者和公众发布。通过下面的介绍你会看到,R正是一个适合完成以上目标的理想而又功能全 面的软件。 1.1 为何要使用 R? 与起源于贝尔实验室的S语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是 一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。但是,市面上也有 许多其他流行的统计和制图软件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。为何 偏偏要选择R? R有着非常多值得推荐的特性。 多数商业统计软件价格不菲,投入成千上万美元都是可能的。而R是免费的!如果你是一 位教师或一名学生,好处显而易见。 R是一个全面的统计研究平台,提供了各式各样的数据分析技术。几乎任何类型的数据分 析工作皆可在R中完成。 R拥有顶尖水准的制图功能。如果希望复杂数据可视化,那么R拥有最全面且最强大的一 系列可用功能。 图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权