第一部分 语言 3
第1章 新手入门 3
1.1 从CRAN获取并安装R 3
1.2 打开R之初体验 3
1.2.1 控制台和编辑窗格 4
1.2.2 注释 5
1.2.3 工作路径 6
1.2.4 安装和加载R包 6
1.2.5 帮助文件和函数文档 7
1.2.6 第三方编辑器 9
1.3 保存工作和退出R 9
1.3.1 工作空间 9
1.3.2 脚本 10
1.4 约定 10
1.4.1 编码 11
1.4.2 引用数学函数和等式 11
1.4.3 练习 12
第2章 数值、运算、赋值和向量 13
2.1 R在基础数学上的应用 13
2.1.1 运算 13
2.1.2 对数和指数 14
2.1.3 科学计数法 15
2.2 分配对象 16
2.3 向量 17
2.3.1 创建向量 17
2.3.2 序列、重复、排序和长度 18
2.3.3 子集和元素的提取 21
2.3.4 面向向量的操作 25
第3章 矩阵和数组 30
3.1 定义一个矩阵 30
3.1.1 填充方式 31
3.1.2 合并行和列 31
3.1.3 矩阵的维度 32
3.2 构造子集 32
3.2.1 按行、列和对角线提取元素 33
3.2.2 省略和改写 34
3.3 矩阵运算和线性代数 36
3.3.1 矩阵的转置 37
3.3.2 单位矩阵 37
3.3.3 矩阵的数乘 38
3.3.4 矩阵的加减法 38
3.3.5 矩阵的乘法 39
3.3.6 逆矩阵 40
3.4 多维数组 41
3.4.1 定义 42
3.4.2 子集、提取和替换 43
第4章 非数值型数据 47
4.1 逻辑值 47
4.1.1 TRUE还是FALSE 47
4.1.2 逻辑值的输出:关系运算符 48
4.1.3 多重比较:逻辑运算符 51
4.1.4 逻辑值也是数值 53
4.1.5 利用逻辑值提取子集 54
4.2 字符 58
4.2.1 创建一个字符串 58
4.2.2 连接 59
4.2.3 转义序列 61
4.2.4 子集与匹配 62
4.3 因子 63
4.3.1 识别类别 63
4.3.2 水平的定义与排序 65
4.3.3 组合与分割 66
第5章 列表和数据框 70
5.1 列表对象 70
5.1.1 创建列表和访问组件 70
5.1.2 命名 72
5.1.3 嵌套 73
5.2 数据框 75
5.2.1 创建数据框 75
5.2.2 添加数据列并合并数据框 77
5.2.3 利用逻辑值提取记录的子集 79
第6章 特殊值、类型和转换 82
6.1 特殊值 82
6.1.1 无穷数 82
6.1.2 NaN 84
6.1.3 NA 86
6.1.4 NULL 88
6.2 类型、类别和转换 91
6.2.1 属性 91
6.2.2 对象类别 93
6.2.3 检查对象函数is 95
6.2.4 转换函数as 96
第7章 基本绘图 102
7.1 使用plot调整坐标向量 102
7.2 图形化参数 103
7.2.1 自动绘图类型 104
7.2.2 标题和坐标轴标签 104
7.2.3 颜色 105
7.2.4 点和线的外观 106
7.2.5 绘图区域限制 107
7.3 在已有图中添加点、线和文本 107
7.4 ggplot2包 113
7.4.1 使用qplot进行快速绘图 113
7.4.2 用geoms设置外观常量 114
7.4.3 geoms的美学映射 116
第8章 读写文件 119
8.1 R内置数据集 119
8.1.1 内置数据集 119
8.1.2 贡献数据集 120
8.2 读入外部数据文件 121
8.2.1 表格格式 121
8.2.2 电子表格工作簿 124
8.2.3 基于网页的文件 125
8.2.4 其他文件格式 126
8.3 写出数据文件和图形 126
8.3.1 数据集 126
8.3.2 图像和图形文件 127
8.4 特殊对象的读/写操作 130
第二部分 编程 135
第9章 调用函数 135
9.1 作用域 135
9.1.1 环境 135
9.1.2 搜索路径 137
9.1.3 名称的保留和保护 139
9.2 参数匹配 140
9.2.1 准确性 140
9.2.2 局部匹配 141
9.2.3 位置 142
9.2.4 混合 142
9.2.5 省略号的用法 143
第10章 条件和循环 145
10.1 if语句 145
10.1.1 独立语句 145
10.1.2 else语句 148
10.1.3 基于元素水平使用ifelse 149
10.1.4 嵌套和堆叠语句 150
10.1.5 转换函数 153
10.2 循环代码 156
10.2.1 for循环 156
10.2.2 while循环 162
10.2.3 使用apply的隐式循环 165
10.3 其他控制流程机制 169
10.3.1 break或next声明 169
10.3.2 repeat语句 171
第11章 编写函数 175
11.1 函数命令 175
11.1.1 创建函数 175
11.1.2 使用返回 178
11.2 参数 180
11.2.1 惰性计算 180
11.2.2 设置默认值 183
11.2.3 检查缺失参数 184
11.2.4 省略号的处理 185
11.3 特殊函数 189
11.3.1 帮助函数 190
11.3.2 一次性函数 191
11.3.3 递归函数 192
第12章 异常值、计时和可见性 196
12.1 异常值处理 196
12.1.1 正式声明:错误和警告 196
12.1.2 使用try命令来捕获错误 198
12.2 进度和计时 202
12.2.1 文本进度条:执行到哪里了 202
12.2.2 测量完成时间:执行需要多长时间 203
12.3 隐藏 204
12.3.1 函数与对象的区别 205
12.3.2 区分数据框变量 207
第三部分 统计学与概率 213
第13章 初级统计学 213
13.1 描述原始数据 213
13.1.1 数值型变量 213
13.1.2 分类变量 214
13.1.3 单变量和多变量数据 215
13.1.4 参数和统计量 216
13.2 统计概要 216
13.2.1 集中趋势:均值、中位数、众数 217
13.2.2 计数、百分比和比例 220
13.2.3 四分位数、百分位数和五分位数概括法 222
13.2.4 离散程度:方差、标准差和四分位差 223
13.2.5 协方差和相关系数 226
13.2.6 异常值 230
第14章 数据可视化基础 233
14.1 条形图和饼图 233
14.1.1 绘制条形图 233
14.1.2 饼图简介 236
14.2 直方图 237
14.3 箱线图 239
14.3.1 独立箱线图 239
14.3.2 并列箱线图 240
14.4 散点图 241
14.4.1 单一散点图 242
14.4.2 散点图矩阵 243
第15章 概率 248
15.1 什么是概率 248
15.1.1 事件和概率 248
15.1.2 条件概率 249
15.1.3 交集 249
15.1.4 并集 250
15.1.5 补集 250
15.2 随机变量和概率分布 251
15.2.1 观察值 251
15.2.2 离散随机变量 252
15.2.3 连续随机变量 254
15.2.4 形状、偏态和峰态 260
第16章 常见的概率分布 263
16.1 常见的概率质量函数 263
16.1.1 伯努利分布 263
16.1.2 二项分布 264
16.1.3 泊松分布 268
16.1.4 其他质量函数 271
16.2 常见的概率密度函数 271
16.2.1 均匀分布 271
16.2.2 正态分布 275
16.2.3 学生t分布 282
16.2.4 指数分布 284
16.2.5 其他密度函数 286
第四部分 统计检验与建模 291
第17章 抽样分布和置信度 291
17.1 抽样分布 291
17.1.1 样本均值的分布 292
17.1.2 样品比例的分布 295
17.1.3 其他统计的抽样分布 298
17.2 置信区间 298
17.2.1 平均值的置信区间 299
17.2.2 比例的置信区间 301
17.2.3 其他置信区间 301
17.2.4 对CI解释的评论 302
第18章 假设检验 304
18.1 假设检验的组件 304
18.1.1 假设 305
18.1.2 检验统计量 305
18.1.3 p值 305
18.1.4 显著性水平 305
18.1.5 假设检验的拒绝域 306
18.2 检验均值 306
18.2.1 单个均值 306
18.2.2 两个均值 309
18.3 检验比例 316
18.3.1 单个比例 316
18.3.2 两个比例 318
18.4 检验分类变量 322
18.4.1 单个分类变量 322
18.4.2 两个分类变量 325
18.5 错误与功效 329
18.5.1 假设检验错误 329
18.5.2 第Ⅰ类错误 330
18.5.3 第Ⅱ类错误 332
18.5.4 统计功效 335
第19章 方差分析 340
19.1 单因素方差分析 340
19.1.1 假设和诊断检验 340
19.1.2 单因素方差分析表 343
19.1.3 用aov函数创建方差分析表 344
19.2 双因素方差分析 345
19.2.1 一系列假设 346
19.2.2 主效应和交互作用 347
19.3 Kruskal-Wallis检验 349
第20章 简单线性回归 352
20.1 线性关系的一个示例 352
20.2 一般概念 353
20.2.1 模型的定义 354
20.2.2 估计截距和斜率的参数 354
20.2.3 用lm拟合线性模型 355
20.2.4 对残差的说明 356
20.3 统计推断 357
20.3.1 汇总拟合模型 357
20.3.2 回归系数的显著性检验 358
20.3.3 可决系数 359
20.3.4 其他汇总输出 359
20.4 预测 360
20.4.1 置信区间还是预测区间 360
20.4.2 解释区间 361
20.4.3 绘制区间 362
20.4.4 插值与外推 364
20.5 分类解释变量 365
20.5.1 二元变量:k=2 365
20.5.2 多元变量:k>2 368
20.5.3 改变参考水平 372
20.5.4 将分类变量视为数字 372
20.5.5 单因素方差分析的等价 375
第21章 多元线性回归 377
21.1 相关术语 377
21.2 理论 378
21.2.1 将简单模型扩展为多元模型 378
21.2.2 矩阵形式的估计 378
21.2.3 一个基础例子 379
21.3 在R中的实现和解释 380
21.3.1 其他解释变量 381
21.3.2 解释边际效应 383
21.3.3 可视化多元线性模型 383
21.3.4 查找置信区间 385
21.3.5 综合的F检验 385
21.3.6 对多元线性模型进行预测 387
21.4 转换数值变量 389
21.4.1 多项式 390
21.4.2 对数 395
21.4.3 其他变换 397
21.5 交互项 398
21.5.1 概念和动机 399
21.5.2 分类变量和连续变量 399
21.5.3 两个分类 403
21.5.4 两个连续 404
21.5.5 高阶交互项 406
第22章 线性模型选择和诊断 409
22.1 拟合优度和复杂度 409
22.1.1 简约原则 409
22.1.2 一般原则 409
22.2 模型选择算法 410
22.2.1 嵌套比较:部分F检验 410
22.2.2 向前选择 413
22.2.3 向后选择 417
22.2.4 逐步AIC选择 420
22.2.5 其他选择算法 425
22.3 残差诊断 425
22.3.1 检查和解释残差 426
22.3.2 评估正态性 429
22.3.3 离群值、杠杆和影响 430
22.3.4 计算杠杆 433
22.3.5 库克距离 434
22.3.6 以图形方式组合残差、杠杆和库克距离 437
22.4 共线性 441
22.4.1 潜在警告标志 441
22.4.2 相关预测 442
第五部分 高级绘图 447
第23章 自定义高级绘图 447
23.1 掌握图形设备 447
23.1.1 手动打开新设备 448
23.1.2 在设备之间切换 448
23.1.3 关闭一个设备 449
23.1.4 一个设备中多个图形 449
23.2 绘制区域和边距 452
23.2.1 默认间距 452
23.2.2 自定义间距 453
23.2.3 剪切 454
23.3 点击式坐标互动 456
23.3.1 获取坐标 456
23.3.2 可视化所选坐标 456
23.3.3 专用注释 457
23.4 自定义传统R图形 460
23.4.1 样式和禁止的图形参数 460
23.4.2 自定义边框 461
23.4.3 自定义坐标轴 462
23.5 专用文本和标签符号 464
23.5.1 字体 464
23.5.2 希腊符号 465
23.5.3 数学表达式 466
23.6 完全注释的散点图 468
第24章 进一步了解图形 474
24.1 是使用ggplot还是qplot 474
24.2 平滑和阴影 475
24.2.1 添加LOESS趋势 475
24.2.2 构建平滑密度估计 477
24.3 多个图形和变量的分面 479
24.3.1 独立图形 479
24.3.2 一个分类变量的分面绘图 481
24.4 ggvis包里的交互式工具 484
第25章 在更高维上定义颜色和图形 490
25.1 颜色的表示和使用 490
25.1.1 红—绿—蓝十六进制颜色代码 490
25.1.2 内置调色板 493
25.1.3 自定义调色板 494
25.1.4 使用调色板索引连续区 495
25.1.5 颜色图例 498
25.1.6 不透明度 499
25.1.7 RGB的替代和更多功能 501
25.2 3D散点图 503
25.2.1 基本语法 504
25.2.2 增强视觉 504
25.3 用于绘图的曲面 507
25.3.1 构造估计网格 507
25.3.2 构造z矩阵 508
25.3.3 概念化的z矩阵 509
25.4 轮廓图 510
25.4.1 画轮廓线 510
25.4.2 彩色填充轮廓 515
25.5 像素图像 518
25.5.1 一个网格点=一个像素 518
25.5.2 曲面截断和空像素 521
25.6 透视图 527
25.6.1 基本图和角度调整 527
25.6.2 为平面着色 530
25.6.3 循环旋转 532
第26章 交互式3D图形 537
26.1 点云 537
26.1.1 基本3D云 537
26.1.2 增强视觉和图例 538
26.1.3 添加其他3D组件 539
26.2 双变量曲面 543
26.2.1 基本透视曲面 543
26.2.2 附加组件 544
26.2.3 根据z坐标值着色 546
26.2.4 设置长宽比 547
26.3 三变量曲面 550
26.3.1 三维估计坐标 551
26.3.2 等值面 552
26.3.3 实例:非参数三元密度 556
26.4 参数方程 560
26.4.1 简单矢量图 560
26.4.2 数学抽象图形 563
附录A 安装R和贡献包 571
A.1 下载和安装R 571
A.2 使用包 572
A.2.1 基础包 573
A.2.2 扩展包 573
A.2.3 贡献包 573
A.3 更新R和已安装的包 578
A.4 使用其他镜像和存储库 579
A.4.1 切换CRAN镜像 579
A.4.2 其他包库 579
A.5 引用和写作包 580
A.5.1 引用R和帮助包 580
A.5.2 编写我们自己的包 581
附录B 使用RStudio 582
B.1 基本布局和用法 582
B.1.1 编辑器和外观选项 583
B.1.2 自定义窗格 584
B.2 辅助工具 585
B.2.1 项目 585
B.2.2 包安装程序和更新程序 586
B.2.3 支持调试 587
B.2.4 标记、文档和图形工具 587
译后记 590