首页>参考读物>计算机科学与技术>综合

R数据分析秘笈
作者 : [美]维西瓦·维斯瓦纳坦(Viswa Viswanathan),珊蒂·维斯瓦纳坦(Shanthi Viswanathan)著
译者 : 鱼翔 译
出版日期 : 2016-04-05
ISBN : 978-7-111-53173-9
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 275
开本 : 16
原书名 : R Data Analysis Cookbook
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

资深技术专家多年经验结晶,深入剖析R数据分析的实用方法、技巧和最佳实践
通过80多个基于任务的实际应用案例,帮助你快速提升R数据分析能力,轻松搞定数据分析项目

用R进行数据分析已经成为各种机构的关注焦点。R让没有深厚的数学背景,仅对基本概念有一点直观理解的人们可以相当有效和仔细地考察他们的数据。
本书通过展示各种使用R来生成专业分析报告的方法来使你更上一层楼。它提供了各类重要分析和机器学习任务的例子,并且准备好了所需的数据可供读者立即尝试。同时书中详细讲解了如何快速调整示例代码来适应自己的需求,这将大大节约从零开始构建代码所需要的时间。

通过阅读本书,你将学到:
将数据导入R环境并为分析做好准备工作
执行探索性数据分析并生成有意义的数据可视化
应用一些机器学习技术来分类或者回归
借助数据归约技术来处理大型数据集
从时间序列数据中抽取特征并基于它预测未来
如何从社交网络数据中抽取出可行信息
实施地理空间分析
通过报告来呈现令人信服的分析结论,并建立一个架构让他人也能与数据交互

作者简介
Viswa Viswanathan
西顿霍尔大学斯蒂尔曼商学院计算和决策科学系副教授。他在获得人工智能领域的博士学位之后,曾在学术界度过了十年,然后转向软件产业,作为领军人物工作了十年。他于2011年重新回到学术界。

Shanthi Viswanathan
是一位经验丰富的技术专家,为许多企业客户提供技术管理和企业结构方面的咨询。她曾就职于Infosys科技、Oracle公司和Accenture。作为一名顾问,Shanthi为一些大型机构(如Canon、Cisco、Celgene、Amway、Time Warner Cable 和 GE等公司)提供数据架构和分析、高级数据管理、面向服务的架构、商业流程管理、建模等方面的帮助。

内容简介
R作为一个可扩展的系统,其功能分布在众多的包中,每一个包囊括了大量函数,即使是经验丰富的使用者也不会指望能将所有的细节记在脑海中。本书旨在为已有一定基础的R用户提供现成的方法来实现很多重要的数据分析任务。当面对一个特定任务时,你可以在几分钟内找到合适的方法并实施,而不必在互联网或众多书籍中苦苦搜索。
本书从各类源数据的读入和调整,数据分析前的准备工作、清洗、转换,到面向各类需求的各种模型,再到能够显著提高效率的自动化报告系统knitr和交互式可视化系统shiny,最后到与Java、MySQL、MongoDB和Excel之间的配合工作,为初级和中级数据分析师准备了80多种实用方法,帮助你完成真实场景中的各项任务。

图书前言

作为一种统计计算、数据分析和绘图环境,自从2000年1.0版本问世以来,R的流行度获得了指数级的增长。一些电子表格用户想要完成电子表格软件无法实现的功能,或需要处理的数据量大到电子表格软件无法方便地完成,他们寄希望于R。类似地,商业分析软件用户也被这个免费且强大的选项所吸引。于是,一大群人目前正寄希望于用R快速处理事务。
作为一个可扩展的系统,R的功能分布在众多的包中,每一个包囊括了大量函数。即使是经验丰富的使用者也很难将所有的细节记在脑海中。本书旨在为已有一定基础的R用户提供现成的方法来实现很多重要的数据分析任务。当面对一个特定任务时,用户可以在几分钟内找到合适的方法并实施,而不必在互联网或众多书籍中苦苦搜索。
本书涵盖以下内容
第1章涵盖了进行真正的数据分析任务之前的准备工作。本章提供了从不同源文件格式中读取数据的方法。此外,在实际分析数据前,我们执行了几个预处理和数据清洗步骤,本章还提供了以下任务的处理方法:处理缺失值和重复值、数值的缩放或标准化、在数值型变量和分类变量之间的转换,以及创建哑变量。
第2章讨论了分析师在实施特定的分析手段之前常用来理解数据的几种做法。本章提供了用于汇总数据、分割数据、抽取子集和建立随机数据分块的方法,也提供了使用标准化图像来展现潜在模式的方法,还提供了使用lattice和ggplot2包绘图的方法。
第3章涵盖了运用分类技术的方法。本章包括分类树、随机森林、支持向量机、朴素贝叶斯、K最近邻、神经网络、线性和二次判别分析,以及逻辑回归。
第4章是关于回归技术的方法。本章包括K最近邻、线性回归、回归树、随机森林和神经网络。
第5章介绍了数据简化的方法。本章提供了通过K-均值和系统聚类的聚类分析手段,同时也涵盖了主成分分析。
第6章包含了一些技巧,包括处理日期和日期/时间对象,创建时间序列对象并画图,时间序列的分解、滤波和平滑,以及执行ARIMA分析。
第7章讨论了社交网络。本章介绍如何通过公共API获取社交网络数据,创建、绘制社交网络图,并计算重要的网络度量指标。
第8章讨论了呈现分析结果的技术。本章包含以下方法:使用 R Markdown 和 knitR 来创建报告,通过使用 shiny 创建交互式应用使读者直接与数据进行交互,用RPres创建幻灯片。
第9章解决了面对大型数据时如何书写高效且简洁的R代码的问题。 本章包含了通过apply系列函数、plyr包和数据表来切割数据的方法。
第10章包含了开拓R在处理空间数据上的强大功能的主题。本章涵盖了以下方法:通过RGoogleMaps来获取GoogleMaps数据并且在其上添加自有数据,导入ESRI形状文件并绘图,从maps包中导入地图数据,利用sp包创建并绘制空间数据框对象。
第11章包含了R与其他系统的交互。本章包含了R与Java、Excel、关系型数据库和非关系型数据库(分别以MySQL和MongoDB为例)之间的连接。
阅读须知
本书中的所有代码均在 R 3.0.2 (Frisbee Sailing) 版本和 3.1.0 (Spring Dance)版本上测试通过。当安装或者载入某些包时,你也许会得到警告消息,提示你这些代码是为不同的版本编译的,不过这并不会实际影响本书中的任何代码。
本书面向的读者对象
本书非常适合于那些已经有一定的R基础,但尚无将R广泛用于各种数据分析的经验,同时希望快速入门分析任务的读者。本书有助于在下列几个方面提高分析技巧的人士:
实现高级分析并创建信息充实的专业图表。
熟练地从各种来源获取数据。
应用监督型和无监督型的数据挖掘技术。
使用R的功能来呈现专业的分析报告。
每章的内容安排
在本书中,你会发现有几个标题是频繁出现的(准备就绪、要怎么做、工作原理、更多细节、参考内容)。
为了让读者在完成一个方法时获得清晰的指导,我们采用了以下内容编排方式:
准备就绪
这一节会给出内容概述,并且会描述如何准备好本节所需的软件以及任何其他前期准备工作。
要怎么做
这一节包含了完成方法所需的步骤。
工作原理
这一节通常包含了前一节中每一步的具体解释。
更多细节
这一节包含了关于所用方法的额外信息,以便让读者获得一个更加全面的认识。
参考内容
这一节提供了其他有用信息的链接。
本书约定
在本书中,你会发现我们使用不同类型的字体来区分不同类型的信息。下面有一些例子和解释。
文字形式的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、URL、用户输入和Twitter账户展示如下:
“函数 read.csv()从.csv文件的数据中创建了一个数据框。”
代码块写成如下形式:

命名行的输入和输出写成如下格式:


小提示和小技巧出现在这里。
本书相关资源下载
下载代码范例和数据
本书提供代码范例和数据下载,读者可登录华章网站(www.hzbook.com)关于本书的页面获取相关资源。
关于本书中用到的数据
我们已经生成了本书中用到的很多数据文件。我们也使用了一些公开可获取的数据集。下表列出了这些公开的数据集。大部分公开数据集来自于加州大学欧文分校的机器学习库http://archive.ics.uci.edu/ml/。表中我们用“下载自 UCI-MLR”来标志这些数据集。
数据文件名 来 源
auto-mpg.csv Quinlan, R. Combining Instance-Based and Model-Based Learning, Machine Learning Proceedings on the Tenth International Conference 1993, 236-243, held at University of Massachusetts, Amherst published by Morgan Kaufmann.
(下载自 UCI-MLR)
BostonHousing. csv D. Harrison and D.L. Rubinfeld, Hedonic prices and the demand for clean air, Journal for Environmental Economics a Management, pages 81–102, 1978. (下载自 UCI-MLR)
daily-bike- rentals.csv Fanaee-T, Hadi, and Gama, Joao, Event labeling combining ensemble detectors and background knowledge, Progress in Artificial Intelligence (2013): pp. 1-15, Springer Berlin Heidelberg. (下载自 UCI-MLR)
banknote- authentication. csv 数据库来源: Volker Lohweg, University of Applied
Sciences, Ostwestfalen-Lippe
数据库捐赠: Helene Darksen, University of Applied
Sciences, Ostwestfalen-Lippe
(下载自 UCI-MLR)
education.csv Robust Regression and Outlier Detection, P. J. Rouseeuw and A. M. Leroy, Wiley, 1987.
(下载自 UCI-MLR)
walmart.csv
walmart- monthly.csv 下载自 Yahoo!金融
prices.csv 下载自美国劳工统计局
infy.csv, infy- monthly.csv 下载自 Yahoo!金融
nj-wages.csv 下载自新泽西州教育部网站以及
http://federalgovernmentzipcodes.us.
nj-county-data. csv 改编自维基百科:
http://en.wikipedia.org/wiki/List_of_counties_in_New_Jersey

下载本书中的彩色图片
我们为你提供了本书中用到的截图和图表的彩色PDF文件。这些彩图有助于你更好的理解输出中的变化。可以从https://www.packtpub.com/sites/default/files/ downloads/9065OS_ ColorImages.pdf下载这个文件,也可以登录华章网站获取相关内容。

上架指导

计算机科学/大数据分析与处理

封底文字

用R进行数据分析已经成为各种机构的关注焦点。R让没有深厚的数学背景,仅对基本概念有一点直观理解的人们可以相当有效地和仔细地考察他们的数据。
本书通过展示各种使用R来生成专业分析报告的方法来使你更上一层楼。它提供了各类重要分析和机器学习任务的例子,并且准备好了所需的数据可供读者立即尝试。本书同时指导读者如何快速调整示例代码来适应自己的需求,这将大大节约从零开始构建代码所需要的时间。

通过阅读本书,你将学到:
将数据导入R环境并为分析做好准备工作
执行探索性数据分析并生成有意义的数据可视化
应用一些机器学习技术来分类或者回归
借助数据归约技术来处理大型数据集
从时间序列数据中抽取特征并基于它预测未来
如何从社交网络数据中抽取出可行信息
实施地理空间分析
通过报告来呈现令人信服的分析结论,并建立一个架构让他人也能与数据交互

作者简介

[美]维西瓦·维斯瓦纳坦(Viswa Viswanathan),珊蒂·维斯瓦纳坦(Shanthi Viswanathan)著:暂无简介

译者简介

鱼翔 译:暂无简介

译者序

尽管仍然受到战争、饥饿、环境等问题的困扰,但无法否认的是,人类正处于历史上最好的时代。得益于计算机和数据处理技术的飞速发展,以自动驾驶汽车、Siri语音助手、随时随地的手机支付等为代表的现代技术应用正将人类照顾得无微不至。对于数学、统计、计算机专业的人来说,这更是一个最好的时代,因为我们有幸见证了机器学习、自然语言处理、高速计算机集群的大规模应用,并实实在在地改变了我们的世界。
数据分析对于业界有没有用?有多大用处?从20世纪末的冷遇到现在的如日中天,我相信很多人都感受到了整个世界对于数据价值理解的巨大变化。在这十多年中,R作为数据科学最为青睐的语言之一,迅速地从学界渗透到业界,发展壮大。
一直以来,R最大的优势就是全球统计界(现在应该还要加上数据科学界)的强力支持(截至我写这篇序的这一刻,CRAN上已经有7514个包)。这一点是任何其他数据分析工具所不可比拟的(比如SAS、Python、SPSS等)。除此之外,R的灵活和开放性也使它能够很好地与其他语言和数据库沟通,以及处理非结构化的数据。
自从2008年我在美留学期间接触到R语言以来,不知不觉已经是第8个年头,而中国的R语言大会也已经如火如荼地开到了第八届。这几年中,我有幸目睹了R在学术界和业界的迅速发展,看到了一批又一批的优秀人才涌入到数据科学的浪潮中,而我自己也从R语言的学习者逐渐转向了它的传播者。这几年来,我在大学教授统计/数据分析课程,并为业界解决一些实际问题。以我浅薄的经验来看,一方面,就业市场对于统计类人才的渴望越来越强烈;然而另一方面,统计系毕业的学生又很少能在毕业时拥有在实际环境中处理数据的能力。原因是多方面的,比较重要的一点是,很多学校在教授统计/数据分析类课程的时候,缺少真实环境下的分析能力培养,教材也多偏重于统计理论或者R语言的基础,合适的教材比较匮乏。我也曾考虑将这几年教学和实践中对于数据处理的一些流程技巧整理编成一个小册子,但未能完成。
当看到本书的目录时,我立刻感觉到非常强烈的共鸣—Viswa Viswanathan教授已经将R数据分析完美呈现。从各类源数据的读入和调整,数据分析前的准备工作、清洗、转换,到面向各类需求的各种模型,再到能够显著提高效率的自动化报告系统knitr和交互式可视化系统shiny,最后到与Java、MySQL、MongoDB和Excel之间的配合工作,本书为初级和中级数据分析师准备了八十多种方法,帮助他们完成真实场景中的各项任务。
同时,书中的每一个章节都相对独立,作者为其设定了非常清晰的内容结构,尽量减少读者不停翻阅前文的情况(当然,第一次从头到尾读下来的读者可能会觉得这位严谨的教授有点烦,但当你在半年后需要查询书中的某一个方法时,也许会改变这一想法)。
最后,我想在此感谢我的父母和我的妻子,在我常常翻译到深夜的日子里,是他们无微不至地照顾一岁多的小朋友。我也要感谢Rigi,你为这个家庭带来了无数的欢乐,希望你健康快乐地成长。

—2015年11月23日,写于第八届中国R语言大会之后

图书目录

译者序
作者简介
审校者简介
前言
第1章 获取并准备好材料—数据 1
1.1 引言 1
1.2 从csv文件中读取数据 1
1.3 读取XML数据 4
1.4 读取JSON数据 6
1.5 从定宽格式文件中读取数据 7
1.6 从R数据文件和R库中读取数据 8
1.7 删除带有缺失值的样本 10
1.8 用均值填充缺失值 11
1.9 删除重复样本 13
1.10 将变量缩放至[0,1]区间 14
1.11 对数据框中的数据做正则化或标准化 15
1.12 为数值数据分箱 17
1.13 为分类变量创建哑变量 18
第2章 那里面有什么——探索性数据分析 21
2.1 引言 21
2.2 创建标准化数据概览 21
2.3 抽取数据集的子集 23
2.4 分割数据集 25
2.5 创建随机数据分块 26
2.6 创建直方图、箱线图、散点图等标准化图像 29
2.7 在网格窗口上创建多个图像 37
2.8 选择图形设备 38
2.9 用lattice包绘图 39
2.10 用ggplot2包绘图 42
2.11 创建便于比较的图表 47
2.12 创建有助于发现因果关系的图表 51
2.13 创建多元图像 53
第3章 它属于哪儿——分类技术 55
3.1 引言 55
3.2 创建误差/分类–混淆矩阵 55
3.3 创建ROC图 58
3.4 构建、绘制和评估—分类树 61
3.5 用随机森林模型分类 66
3.6 用支持向量机分类 69
3.7 用朴素贝叶斯分类 72
3.8 用K最近邻分类 74
3.9 用神经网络分类 77
3.10 用线性判别函数分类 79
3.11 用逻辑回归分类 80
3.12 用AdaBoost来整合分类树模型 83
第4章 给我一个数——回归分析 86
4.1 引言 86
4.2 计算均方根误差 86
4.3 建立用于回归的KNN模型 88
4.4 运用线性回归 94
4.5 在线性回归中运用变量选择 99
4.6 建立回归树 102
4.7 建立用于回归的随机森林模型 108
4.8 用神经网络做回归 112
4.9 运用K-折交叉验证 114
4.10 运用留一交叉验证来限制过度拟合 116
第5章 你能化简它吗——数据简化技术 118
5.1 引言 118
5.2 用K-均值聚类法实现聚类分析 118
5.3 用系统聚类法实现聚类分析 124
5.4 用主成分分析降低维度 127
第6章 从历史中学习——时间序列分析 134
6.1 引言 134
6.2 创建并检查日期对象 134
6.3 对日期对象进行操作 138
6.4 对时间序列数据做初步分析 140
6.5 使用时间序列对象 143
6.6 分解时间序列 149
6.7 对时间序列数据做滤波 151
6.8 用HoltWinters 方法实现平滑和预测 152
6.9 创建自动的ARIMA模型 155
第7章 这都是你的关系——社交网络分析 157
7.1 引言 157
7.2 通过公共API下载社交网络数据 157
7.3 创建邻接矩阵和连边列表 161
7.4 绘制社交网络数据 164
7.5 计算重要的网络度量指标 176
第8章 展现你最好的一面——制作文档和呈现分析报告 182
8.1 引言 182
8.2 用R Markdown 和 knitR创建数据分析报告 182
8.3 用shiny创建交互式Web应用 191
8.4 用R Presentation为分析报告创建PDF幻灯片 196
第9章 事半功倍——高效且简洁的R代码 201
9.1 引言 201
9.2 利用向量化操作 201
9.3 用apply函数操作整行或整列 203
9.4 用lapply和sapply将函数应用于整组元素 206
9.5 在向量的一个子集上应用函数 208
9.6 用plyr完成分割–应用–组合策略 210
9.7 用数据表对数据进行切片、切块和组合 213
第10章 在哪儿——地理空间信息数据分析 219
10.1 引言 219
10.2 下载并绘制一个地区的谷歌地图 219
10.3 在已下载的谷歌地图上叠加数据 222
10.4 将ESRI形状文件导入到R中 224
10.5 使用sp包绘制地理数据 226
10.6 从maps包中获取地图 228
10.7 从包含空间及其他数据的普通数据框中创建空间数据框 229
10.8 通过合并普通数据框和空间对象生成空间数据框 230
10.9 为已有的空间数据框添加变量 234
第11章 友好协作——连接到其他系统 237
11.1 引言 237
11.2 在R中使用Java对象 237
11.3 从Java中用JRI调用R函数 243
11.4 从Java中用Rserve调用R函数 245
11.5 从Java中执行R脚本 248
11.6 使用xlsx包连接到Excel 249
11.7 从关系型数据库—MySQL中读取数据 252
11.8 从非关系型数据库—MongoDB中读取数据 256

教学资源推荐
作者: (美)Jeffrey D. Ullman 斯坦福大学Jennifer Widom 著斯坦福大学岳丽华 金培权 万寿红 等译
作者: [法]吕克·若兰(Luc Jaulin) 著
作者: 康莉; 李宽
作者: [意] 阿尔贝托·博斯凯蒂(Alberto Boschetti) 卢卡·马萨罗(Luca Massaron)著
参考读物推荐
作者: (英)Martin Fowler 著
作者: 秦靖 刘存勇 等编著
作者: 王红卫 等编著