R语言实战(第2版)
出版信息
[美] Robert I. Kabacoff / 王小宁、刘撷芯、黄俊文等 / 人民邮电出版社 / 2016-5 / 99.00元
内容简介
本书注重实用性,是一本全面而细致的R指南,高度概括了该软件和它的强大功能,展示了使用的统计示例,且对于难以用传统方法处理的凌乱、不完整和非正态的数据给出了优雅的处理方法。作者不仅仅探讨统计分析,还阐述了大量探索和展示数据的图形功能。新版做了大量更新和修正,新增了近200页内容,介绍数据挖掘、预测性分析和高级编程。
作者简介
作者简介:
Robert I. Kabacoff
R语言社区著名学习网站Quick-R的维护者,现为全球化开发与咨询公司Management研究集团研发副总裁。此前,Kabacoff博士是佛罗里达诺瓦东南大学的教授,讲授定量方法和统计编程的研究生课程。Kabacoff还是临床心理学博士、统计顾问,擅长数据分析,在健康、金融服务、制造业、行为科学、政府和学术界有20余年的研究和统计咨询经验。
译者简介:
王小宁
中国人民大学统计学院14级硕士,16级博士,统计之都副主编,中国人民大学数据挖掘中心分布式计算负责人,研究兴趣包括统计机器学习和缺失数据。
刘撷芯
中国人民大学统计学院13级硕士,爱荷华大学商学院16级博士,中国人民大学数据挖掘中心核心成员之一,研究兴趣包括统计机器学习和文本分析。
黄俊文
2014年毕业于中山大学数学系,2016年毕业于加州大学圣地亚哥分校统计学专业,统计之都成员,易易网创始人之一,目前关注计算机科学和统计学的结合与应用,包括机器学习方法等。他致力于成为一个有趣的人。
目录
第一部分 入门
第1章 R语言介绍 3
1.1 为何要使用R 4
1.2 R的获取和安装 6
1.3 R的使用 6
1.3.1 新手上路 7
1.3.2 获取帮助 10
1.3.3 工作空间 10
1.3.4 输入和输出 12
1.4 包 13
1.4.1 什么是包 14
1.4.2 包的安装 14
1.4.3 包的载入 14
1.4.4 包的使用方法 14
1.5 批处理 15
1.6 将输出用为输入:结果的重用 16
1.7 处理大数据集 16
1.8 示例实践 16
1.9 小结 18
第2章 创建数据集 19
2.1 数据集的概念 19
2.2 数据结构 20
2.2.1 向量 21
2.2.2 矩阵 22
2.2.3 数组 23
2.2.4 数据框 24
2.2.5 因子 27
2.2.6 列表 28
2.3 数据的输入 30
2.3.1 使用键盘输入数据 31
2.3.2 从带分隔符的文本文件导入数据 32
2.3.3 导入Excel数据 35
2.3.4 导入XML数据 36
2.3.5 从网页抓取数据 36
2.3.6 导入SPSS数据 36
2.3.7 导入SAS数据 37
2.3.8 导入Stata数据 37
2.3.9 导入NetCDF数据 38
2.3.10 导入HDF5数据 38
2.3.11 访问数据库管理系统 38
2.3.12 通过Stat/Transfer导入数据 40
2.4 数据集的标注 40
2.4.1 变量标签 40
2.4.2 值标签 41
2.5 处理数据对象的实用函数 41
2.6 小结 42
第3章 图形初阶 43
3.1 使用图形 43
3.2 一个简单的例子 45
3.3 图形参数 46
3.3.1 符号和线条 47
3.3.2 颜色 49
3.3.3 文本属性 50
3.3.4 图形尺寸与边界尺寸 51
3.4 添加文本、自定义坐标轴和图例 53
3.4.1 标题 54
3.4.2 坐标轴 54
3.4.3 参考线 56
3.4.4 图例 57
3.4.5 文本标注 58
3.4.6 数学标注 60
3.5 图形的组合 61
3.6 小结 67
第4章 基本数据管理 68
4.1 一个示例 68
4.2 创建新变量 70
4.3 变量的重编码 71
4.4 变量的重命名 72
4.5 缺失值 74
4.5.1 重编码某些值为缺失值 74
4.5.2 在分析中排除缺失值 75
4.6 日期值 76
4.6.1 将日期转换为字符型变量 77
4.6.2 更进一步 78
4.7 类型转换 78
4.8 数据排序 79
4.9 数据集的合并 79
4.9.1 向数据框添加列 79
4.9.2 向数据框添加行 80
4.10 数据集取子集 80
4.10.1 选入(保留)变量 80
4.10.2 剔除(丢弃)变量 81
4.10.3 选入观测 82
4.10.4 subset()函数 82
4.10.5 随机抽样 83
4.11 使用SQL语句操作数据框 83
4.12 小结 84
第5章 高级数据管理 85
5.1 一个数据处理难题 85
5.2 数值和字符处理函数 86
5.2.1 数学函数 86
5.2.2 统计函数 87
5.2.3 概率函数 90
5.2.4 字符处理函数 92
5.2.5 其他实用函数 94
5.2.6 将函数应用于矩阵和数据框 95
5.3 数据处理难题的一套解决方案 96
5.4 控制流 100
5.4.1 重复和循环 100
5.4.2 条件执行 101
5.5 用户自编函数 102
5.6 整合与重构 104
5.6.1 转置 104
5.6.2 整合数据 105
5.6.3 reshape2包 106
5.7 小结 108
第二部分 基本方法
第6章 基本图形 110
6.1 条形图 110
6.1.1 简单的条形图 111
6.1.2 堆砌条形图和分组条形图 112
6.1.3 均值条形图 113
6.1.4 条形图的微调 114
6.1.5 棘状图 115
6.2 饼图 116
6.3 直方图 118
6.4 核密度图 120
6.5 箱线图 122
6.5.1 使用并列箱线图进行跨组比较 123
6.5.2 小提琴图 125
6.6 点图 127
6.7 小结 129
第7章 基本统计分析 130
7.1 描述性统计分析 131
7.1.1 方法云集 131
7.1.2 更多方法 132
7.1.3 分组计算描述性统计量 134
7.1.4 分组计算的扩展 135
7.1.5 结果的可视化 137
7.2 频数表和列联表 137
7.2.1 生成频数表 137
7.2.2 独立性检验 143
7.2.3 相关性的度量 144
7.2.4 结果的可视化 145
7.3 相关 145
7.3.1 相关的类型 145
7.3.2 相关性的显著性检验 147
7.3.3 相关关系的可视化 149
7.4 t 检验 149
7.4.1 独立样本的t 检验 150
7.4.2 非独立样本的t检验 151
7.4.3 多于两组的情况 151
7.5 组间差异的非参数检验 152
7.5.1 两组的比较 152
7.5.2 多于两组的比较 153
7.6 组间差异的可视化 155
7.7 小结 155
第三部分 中级方法
第8章 回归 158
8.1 回归的多面性 159
8.1.1 OLS回归的适用情境 159
8.1.2 基础回顾 160
8.2 OLS回归 160
8.2.1 用lm()拟合回归模型 161
8.2.2 简单线性回归 163
8.2.3 多项式回归 164
8.2.4 多元线性回归 167
8.2.5 有交互项的多元线性回归 169
8.3 回归诊断 171
8.3.1 标准方法 172
8.3.2 改进的方法 175
8.3.3 线性模型假设的综合验证 181
8.3.4 多重共线性 181
8.4 异常观测值 182
8.4.1 离群点 182
8.4.2 高杠杆值点 182
8.4.3 强影响点 184
8.5 改进措施 186
8.5.1 删除观测点 186
8.5.2 变量变换 187
8.5.3 增删变量 188
8.5.4 尝试其他方法 188
8.6 选择“最佳”的回归模型 189
8.6.1 模型比较 189
8.6.2 变量选择 190
8.7 深层次分析 193
8.7.1 交叉验证 193
8.7.2 相对重要性 195
8.8 小结 197
第9章 方差分析 198
9.1 术语速成 198
9.2 ANOVA模型拟合 201
9.2.1 aov()函数 201
9.2.2 表达式中各项的顺序 202
9.3 单因素方差分析 203
9.3.1 多重比较 204
9.3.2 评估检验的假设条件 206
9.4 单因素协方差分析 208
9.4.1 评估检验的假设条件 209
9.4.2 结果可视化 210
9.5 双因素方差分析 211
9.6 重复测量方差分析 214
9.7 多元方差分析 217
9.7.1 评估假设检验 218
9.7.2 稳健多元方差分析 220
9.8 用回归来做ANOVA 220
9.9 小结 222
第10章 功效分析 223
10.1 假设检验速览 223
10.2 用pwr包做功效分析 225
10.2.1 t检验 226
10.2.2 方差分析 228
10.2.3 相关性 228
10.2.4 线性模型 229
10.2.5 比例检验 230
10.2.6 卡方检验 231
10.2.7 在新情况中选择合适的效应值 232
10.3 绘制功效分析图形 233
10.4 其他软件包 235
10.5 小结 236
第11章 中级绘图 237
11.1 散点图 238
11.1.1 散点图矩阵 240
11.1.2 高密度散点图 242
11.1.3 三维散点图 244
11.1.4 旋转三维散点图 247
11.1.5 气泡图 248
11.2 折线图 250
11.3 相关图 253
11.4 马赛克图 258
11.5 小结 260
第12章 重抽样与自助法 261
12.1 置换检验 261
12.2 用coin包做置换检验 263
12.2.1 独立两样本和K 样本检验 264
12.2.2 列联表中的独立性 266
12.2.3 数值变量间的独立性 266
12.2.4 两样本和K 样本相关性检验 267
12.2.5 深入探究 267
12.3 lmPerm包的置换检验 267
12.3.1 简单回归和多项式回归 268
12.3.2 多元回归 269
12.3.3 单因素方差分析和协方差分析 270
12.3.4 双因素方差分析 271
12.4 置换检验点评 271
12.5 自助法 272
12.6 boot包中的自助法 272
12.6.1 对单个统计量使用自助法 274
12.6.2 多个统计量的自助法 276
12.7 小结 278
第四部分 高级方法
第13章 广义线性模型 280
13.1 广义线性模型和glm()函数 281
13.1.1 glm()函数 281
13.1.2 连用的函数 282
13.1.3 模型拟合和回归诊断 283
13.2 Logistic回归 284
13.2.1 解释模型参数 286
13.2.2 评价预测变量对结果概率的影响 287
13.2.3 过度离势 288
13.2.4 扩展 289
13.3 泊松回归 289
13.3.1 解释模型参数 291
13.3.2 过度离势 292
13.3.3 扩展 294
13.4 小结 295
第14章 主成分分析和因子分析 296
14.1 R 中的主成分和因子分析 297
14.2 主成分分析 298
14.2.1 判断主成分的个数 298
14.2.2 提取主成分 300
14.2.3 主成分旋转 303
14.2.4 获取主成分得分 304
14.3 探索性因子分析 305
14.3.1 判断需提取的公共因子数 306
14.3.2 提取公共因子 307
14.3.3 因子旋转 308
14.3.4 因子得分 312
14.3.5 其他与EFA相关的包 312
14.4 其他潜变量模型 312
14.5 小结 313
第15章 时间序列 315
15.1 在R中生成时序对象 317
15.2 时序的平滑化和季节性分解 319
15.2.1 通过简单移动平均进行平滑处理 319
15.2.2 季节性分解 321
15.3 指数预测模型 326
15.3.1 单指数平滑 326
15.3.2 Holt指数平滑和Holt-Winters指数平滑 329
15.3.3 ets()函数和自动预测 331
15.4 ARIMA 预测模型 333
15.4.1 概念介绍 333
15.4.2 ARMA和ARIMA模型 334
15.4.3 ARIMA的自动预测 339
15.5 延伸阅读 340
15.6 小结 340
第16章 聚类分析 342
16.1 聚类分析的一般步骤 343
16.2 计算距离 344
16.3 层次聚类分析 345
16.4 划分聚类分析 350
16.4.1 K均值聚类 350
16.4.2 围绕中心点的划分 354
16.5 避免不存在的类 356
16.6 小结 359
第17章 分类 360
17.1 数据准备 361
17.2 逻辑回归 362
17.3 决策树 363
17.3.1 经典决策树 364
17.3.2 条件推断树 366
17.4 随机森林 368
17.5 支持向量机 370
17.6 选择预测效果最好的解 374
17.7 用rattle包进行数据挖掘 376
17.8 小结 381
第18章 处理缺失数据的高级方法 382
18.1 处理缺失值的步骤 383
18.2 识别缺失值 384
18.3 探索缺失值模式 385
18.3.1 列表显示缺失值 385
18.3.2 图形探究缺失数据 386
18.3.3 用相关性探索缺失值 389
18.4 理解缺失数据的来由和影响 391
18.5 理性处理不完整数据 391
18.6 完整实例分析(行删除) 392
18.7 多重插补 394
18.8 处理缺失值的其他方法 397
18.8.1 成对删除 398
18.8.2 简单(非随机)插补 398
18.9 小结 399
第五部分 技能拓展
第19章 使用ggplot2进行高级绘图 402
19.1 R 中的四种图形系统 402
19.2 ggplot2包介绍 403
19.3 用几何函数指定图的类型 407
19.4 分组 411
19.5 刻面 413
19.6 添加光滑曲线 416
19.7 修改ggplot2图形的外观 418
19.7.1 坐标轴 419
19.7.2 图例 420
19.7.3 标尺 421
19.7.4 主题 423
19.7.5 多重图 425
19.8 保存图形 426
19.9 小结 426
第20章 高级编程 427
20.1 R 语言回顾 427
20.1.1 数据类型 427
20.1.2 控制结构 433
20.1.3 创建函数 436
20.2 环境 437
20.3 面向对象的编程 439
20.3.1 泛型函数 439
20.3.2 S3模型的限制 441
20.4 编写有效的代码 442
20.5 调试 445
20.5.1 常见的错误来源 445
20.5.2 调试工具 446
20.5.3 支持调试的会话选项 448
20.6 深入学习 451
20.7 小结 451
第21章 创建包 452
21.1 非参分析和npar包 453
21.2 开发包 457
21.2.1 计算统计量 457
21.2.2 打印结果 460
21.2.3 汇总结果 461
21.2.4 绘制结果 463
21.2.5 添加样本数据到包 464
21.3 创建包的文档 466
21.4 建立包 467
21.5 深入学习 471
21.6 小结 471
第22章 创建动态报告 472
22.1 用模版生成报告 474
22.2 用R和Markdown创建动态报告 475
22.3 用R和LaTeX创建动态报告 480
22.4 用R和Open Document创建动态报告 483
22.5 用R和Microsoft Word创建动态报告 485
22.6 小结 489
第23章 使用lattice进行高级绘图 490
23.1 lattice包 490
23.2 调节变量 494
23.3 面板函数 495
23.4 分组变量 498
23.5 图形参数 502
23.6 自定义图形条带 503
23.7 页面布局 504
23.8 深入学习 507
附录A 图形用户界面 508
附录B 自定义启动环境 511
附录C 从R中导出数据 513
附录D R中的矩阵运算 515
附录E 本书中用到的扩展包 517
附录F 处理大数据集 522
附录G 更新R 526
后记:探索R的世界 528
参考文献 530