第1章 引言:数据科学与R 1
1.1 数据科学简介 1
1.1.1 什么是数据科学? 1
1.1.2 如何成为数据科学家? 9
1.2 R语言简介 14
1.2.1 什么是R? 14
1.2.2 如何学习R语言? 17
1.2.3 R的安装和配置 18
1.2.4 R的常用编辑器 21
1.2.5 R的第一步 23
1.3 如何使用本书? 26
1.3.1 排版和代码环境 26
1.3.2 测试环境 27
1.3.3 本书相关资源 27
第一部分 编程篇 29
第2章 数据对象 30
2.1 基本对象 30
2.1.1 向量入门 30
2.1.2 向量的生成 32
2.1.3 向量的计算 34
2.2 复合对象 36
2.2.1 矩阵 36
2.2.2 数据框 39
2.2.3 列表 43
2.3 特殊对象 44
2.3.1 缺失值与空值 44
2.3.2 连接 45
2.3.3 公式 46
2.3.4 表达式 46
2.3.5 环境 48
2.3.6 函数 49
第3章 数据操作 51
3.1 向量化操作 51
3.2 数据转换整理 57
3.2.1 取子集和编码转换 57
3.2.2 长宽格式互转 58
3.2.3 数据的拆分和合并 62
3.3 输入与输出 64
3.3.1 控制台的输入和输出 64
3.3.2 文本文件 65
3.3.3 表格型文件 66
3.3.4 其他外部文件 67
3.4 时间相关数据的处理 67
3.4.1 时间类数据处理 68
3.4.2 时间序列类数据 69
3.4.3 时间数据处理实例 71
第4章 控制语句与函数 75
4.1 控制语句 75
4.1.1 条件判断 75
4.1.2 循环 78
4.2 函数 81
4.3 函数式编程 88
4.4 工程开发的相关函数 93
4.4.1 程序调试 93
4.4.2 异常处理 94
第5章 面向对象 99
5.1 对象导论 99
5.1.1 面向对象的思想 99
5.1.2 面向对象编程的特性 100
5.1.3 R的内置对象 102
5.2 S3 103
5.2.1 初识S3 103
5.2.2 面向对象的实现 105
5.3 S4 108
5.3.1 类的定义 108
5.3.2 对象的实例化 110
5.3.3 泛型函数和多态 113
5.4 引用对象 116
第二部分 模型篇 119
第6章 统计模型与回归分析 121
6.1 线性回归 121
6.1.1 回归模型和经典假设 121
6.1.2 参数估计 122
6.1.3 模型预测 125
6.1.4 离散自变量的情况 126
6.2 模型的诊断 127
6.2.1 非正态性 127
6.2.2 非线性 127
6.2.3 异方差 130
6.2.4 自相关 131
6.2.5 异常值 132
6.2.6 多重共线性 134
6.3 线性回归的扩展 135
6.3.1 非线性回归 135
6.3.2 非参数回归 138
6.3.3 Logistic回归 143
第7章 其他统计分析方法 148
7.1 假设检验 148
7.2 多元分析 154
7.2.1 主成分分析 155
7.2.2 对应分析 159
7.2.3 多元分析的可视化 160
7.3 时间序列 161
7.4 随机模拟 169
7.4.1 随机变量与分布 169
7.4.2 蒙特卡洛方法 172
第8章 数据挖掘和机器学习 176
8.1 一般挖掘流程 176
8.2 聚类 180
8.2.1 层次聚类 181
8.2.2 K均值聚类 184
8.2.3 基于密度的聚类 186
8.2.4 自组织映射 188
8.3 分类 190
8.3.1 决策树模型 190
8.3.2 贝叶斯分类 196
8.3.3 最近邻分类 198
8.3.4 神经网络分类 199
8.3.5 支持向量机分类 200
8.3.6 集成学习与随机森林 203
第9章 最优化方法 207
9.1 无约束非线性规划 207
9.2 线性规划 213
9.2.1 整数规划 216
9.2.2 Rglpk简介 217
9.3 约束非线性规划 219
9.4 遗传算法 225
第10章 数据可视化 231
10.1 R语言可视化简介 231
10.1.1 什么是数据可视化 231
10.1.2 R语言的可视化环境 234
10.1.3 ggplot2入门 234
10.2 分布的特征 239
10.3 比例的构成 242
10.4 时间的变化 246
10.5 R与交互可视化 248
第三部分 应用篇 251
第11章 R在热门行业中的应用 252
11.1 R与金融分析 252
11.1.1 金融数据获取和操作 253
11.1.2 资产特征描述 255
11.1.3 最优资产组合 261
11.1.4 期权定价计算 264
11.2 R与新药研发 266
11.2.1 新药研发简介 267
11.2.2 药动学和药效学 270
11.2.3 建模和模拟 275
第12章 R与互联网文本挖掘 280
12.1 网络数据获取 280
12.1.1 XML与XPath 280
12.1.2 RCurl抓取网页 284
12.1.3 Rweibo与OAuth 284
12.2 中文文本处理 285
12.2.1 文本处理 285
12.2.2 正则表达式 289
12.2.3 中文分词 292
12.3 文本挖掘 296
12.3.1 文本对象 297
12.3.2 基本操作 299
12.3.3 分析方法 300
第13章 大数据时代下的R 304
13.1 地理信息数据 304
13.1.1 空间数据对象 304
13.1.2 R与GIS的结合 307
13.1.3 互联网地理信息 311
13.2 社交网络数据 312
13.2.1 R与网络数据 312
13.2.2 R与Gephi的结合 318
13.3 图像数据 318
13.3.1 图像数据的处理 319
13.3.2 图像识别 323
第14章 可重复的数据分析 328
14.1 基于Sweave的报告 328
14.1.1 LATEX与Sweave 328
14.1.2 R的Vignettes 333
14.2 基于knitr的报告 333
14.2.1 Markdown简介 333
14.2.2 knitr和LATEX 337
14.2.3 报告中的图片 337
14.2.4 xtable与表格生成 338
14.2.5 slidify与幻灯片 339
14.3 基于Office的报告 340
14.3.1 R2PPT 341
14.3.2 ReporteRs 344
第15章 R与其他系统的交互 347
15.1 R与Excel 347
15.1.1 安装DCOM环境 347
15.1.2 安装RExcel 348
15.1.3 RExcel的使用 349
15.2 R与数据库 353
15.2.1 DBI和RSQLite 354
15.2.2 RODBC简介 356
15.3 R与JAVA 358
15.3.1 安装Java环境 358
15.3.2 Java调用R 359
15.3.3 R调用Java 360
15.4 R与Microsoft Visual Studio 361
15.4.1 R与VB 361
15.4.2 R与C# 363
第16章 R与高性能运算 367
16.1 性能的度量与函数编译 367
16.2 代数运算库的优化 370
16.2.1 不同优化版本的实现 371
16.2.2 性能对比 372
16.3 超出内存的限制 373
16.3.1 内存管理机制 373
16.3.2 内存性能的优化 374
16.3.3 内存外运算 376
16.4 并行计算 379
16.4.1 Rmpi与显式并行 380
16.4.2 parallel包的应用 384
16.4.3 RHadoop简介 388
后记 391
编后记 392
参考文献 393
索引 397