关于2016年计划
2016年过去了八个月,去掉元月份和2月份的一些日子,只有6个多月,其中我用三个月的时间开发javafx(现在还是烂尾楼工程),有一个月的时间在外培训,有一个月的时间休假在家带崽,还有一个月的时间瞎忙,不知道干什么了,不过把周末算进来也差不多,人也不是机器,我的本意也是在不要太功利,通过自己的积累做一些有益的工作。
javafx闲暇时间还是要完成相关的工程。
近一段时间想研究一下R语言,做一些数据的可视化与分析挖掘工作。这或许就是今年的全部计划了,精力有限,需要脚踏实地去实施。
关于R语言的学习计划
(1)R语言的书籍通读一本,很繁琐,不一定要快速读完,安排一下时间,分段去学习;
(2)掌握R语言绘图命令,将有关数据通过代码变成图形;
第一部分 入门
第 1 章 R 语言介绍 .......................................... 3
1.1 为何要使用 R? ......................................... 4
1.2 R 的获取和安装 ......................................... 6
1.3 R 的使用 .................................................... 7
1.3.1 新手上路 ........................................ 7
1.3.2 获取帮助 ...................................... 10
1.3.3 工作空间 ...................................... 10
1.3.4 输入和输出 .................................. 12
1.4 包 ............................................................. 14
1.4.1 什么是包 ...................................... 14
1.4.2 包的安装 ...................................... 14
1.4.3 包的载入 ...................................... 14
1.4.4 包的使用方法 ............................... 15
1.5 批处理 ...................................................... 15
1.6 将输出用为输入——结果的重用 ............ 16
1.7 处理大数据集 .......................................... 16
1.8 示例实践 .................................................. 17
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 列表 .............................................. 29
2.3 数据的输入 .............................................. 30
2.3.1 使用键盘输入数据 ....................... 31
2.3.2 从带分隔符的文本文件导入数据 .............................................. 32
2.3.3 导入 Excel 数据 ........................... 33
2.3.4 导入 XML 数据 ............................ 34
2.3.5 从网页抓取数据 ........................... 34
2.3.6 导入 SPSS 数据 ............................ 34
2.3.7 导入 SAS 数据 ............................. 34
2.3.8 导入 Stata 数据 ............................ 35
2.3.9 导入 netCDF 数据 ........................ 35
2.3.10 导入 HDF5 数据 ......................... 35
2.3.11 访问数据库管理系统 ................. 36
2.3.12 通过 Stat/Transfer 导入数据 ...... 37
2.4 数据集的标注 .......................................... 37
2.4.1 变量标签 ...................................... 38
2.4.2 值标签 .......................................... 38
2.5 处理数据对象的实用函数 ....................... 38
2.6 小结 ......................................................... 39
第 3 章 图形初阶 ............................................ 40
3.1 使用图形 .................................................. 40
3.2 一个简单的例子 ...................................... 42
3.3 图形参数 .................................................. 43
3.3.1 符号和线条 .................................. 45
3.3.2 颜色 .............................................. 46
3.3.3 文本属性 ...................................... 47
3.3.4 图形尺寸与边界尺寸 ................... 49
3.4 添加文本、自定义坐标轴和图例 ........... 50
3.4.1 标题 .............................................. 51
3.4.2 坐标轴 .......................................... 52
3.4.3 参考线 .......................................... 54
图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
XVI 目 录
3.4.4 图例 .............................................. 54
3.4.5 文本标注 ...................................... 56
3.5 图形的组合 .............................................. 58
3.6 小结 ......................................................... 64
第 4 章 基本数据管理 ................................... 65
4.1 一个示例 ................................................. 65
4.2 创建新变量 .............................................. 67
4.3 变量的重编码 .......................................... 68
4.4 变量的重命名 .......................................... 69
4.5 缺失值 ..................................................... 70
4.5.1 重编码某些值为缺失值 ............... 71
4.5.2 在分析中排除缺失值 ................... 72
4.6 日期值 ..................................................... 73
4.6.1 将日期转换为字符型变量 ........... 74
4.6.2 更进一步 ...................................... 74
4.7 类型转换 ................................................. 74
4.8 数据排序 ................................................. 75
4.9 数据集的合并 .......................................... 76
4.9.1 添加列 .......................................... 76
4.9.2 添加行 .......................................... 76
4.10 数据集取子集 ........................................ 77
4.10.1 选入(保留)变量 .................. 77
4.10.2 剔除(丢弃)变量 .................. 77
4.10.3 选入观测 .................................. 78
4.10.4 subset() 函数 ........................ 79
4.10.5 随机抽样 .................................. 79
4.11 使用 SQL 语句操作数据框 ................... 80
4.12 小结 ....................................................... 81
第 5 章 高级数据管理 ................................... 82
5.1 一个数据处理难题 .................................. 82
5.2 数值和字符处理函数 .............................. 83
5.2.1 数学函数 ...................................... 83
5.2.2 统计函数 ...................................... 84
5.2.3 概率函数 ...................................... 86
5.2.4 字符处理函数 .............................. 89
5.2.5 其他实用函数 .............................. 90
5.2.6 将函数应用于矩阵和数据框 ....... 91
5.3 数据处理难题的一套解决方案 ............... 93
5.4 控制流 ..................................................... 96
5.4.1 重复和循环 .................................. 97
5.4.2 条件执行 ...................................... 97
5.5 用户自编函数 .......................................... 99
5.6 整合与重构 ........................................... 101
5.6.1 转置 ........................................... 101
5.6.2 整合数据 .................................... 101
5.6.3 reshape 包 ............................... 102
5.7 小结 ....................................................... 105
第二部分 基本方法
第 6 章 基本图形 ......................................... 108
6.1 条形图 ................................................... 108
6.1.1 简单的条形图 ............................ 109
6.1.2 堆砌条形图和分组条形图 ......... 110
6.1.3 均值条形图 ................................ 111
6.1.4 条形图的微调 ............................ 112
6.1.5 棘状图 ........................................ 113
6.2 饼图 ....................................................... 114
6.3 直方图 ................................................... 116
6.4 核密度图 ............................................... 118
6.5 箱线图 ................................................... 120
6.5.1 使用并列箱线图进行跨组
比较 ........................................... 121
6.5.2 小提琴图 .................................... 124
6.6 点图 ....................................................... 125
6.7 小结 ....................................................... 128
第 7 章 基本统计分析 ................................. 129
7.1 描述性统计分析 .................................... 130
7.1.1 方法云集 .................................... 130
7.1.2 分组计算描述性统计量 ............. 133
7.1.3 结果的可视化 ............................ 136
7.2 频数表和列联表 .................................... 136
7.2.1 生成频数表 ................................ 137
7.2.2 独立性检验 ................................ 142
7.2.3 相关性的度量 ............................ 144
7.2.4 结果的可视化 ............................ 144
7.2.5 将表转换为扁平格式 ................. 144
7.3 相关 ....................................................... 146
7.3.1 相关的类型 ................................ 146
7.3.2 相关性的显著性检验 ................. 148
7.3.3 相关关系的可视化 ..................... 150
7.4 t 检验 ...................................................... 150
7.4.1 独立样本的 t 检验 ...................... 150
7.4.2 非独立样本的 t 检验 .................. 151
7.4.3 多于两组的情况 ......................... 152
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 简单线性回归 ............................. 162
8.2.3 多项式回归 ................................ 164
8.2.4 多元线性回归 ............................. 167
8.2.5 有交互项的多元线性回归 .......... 169
8.3 回归诊断 ................................................ 171
8.3.1 标准方法 .................................... 171
8.3.2 改进的方法 ................................ 175
8.3.3 线性模型假设的综合验证 .......... 180
8.3.4 多重共线性 ................................ 181
8.4 异常观测值 ............................................ 181
8.4.1 离群点 ........................................ 182
8.4.2 高杠杆值点 ................................ 182
8.4.3 强影响点 .................................... 183
8.5 改进措施 ................................................ 186
8.5.1 删除观测点 ................................ 186
8.5.2 变量变换 .................................... 186
8.5.3 增删变量 .................................... 187
8.5.4 尝试其他方法 ............................ 188
8.6 选择“最佳”的回归模型 ..................... 188
8.6.1 模型比较 .................................... 188
8.6.2 变量选择 .................................... 189
8.7 深层次分析 ............................................ 193
8.7.1 交叉验证 .................................... 193
8.7.2 相对重要性 ................................ 194
8.8 小结 ....................................................... 197
第 9 章 方差分析 .......................................... 198
9.1 术语速成 ................................................ 198
9.2 ANOVA 模型拟合 ................................. 201
9.2.1 aov() 函数 ................................. 201
9.2.2 表达式中各项的顺序 ................. 201
9.3 单因素方差分析 .................................... 202
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 多元方差分析 ........................................ 216
9.7.1 评估假设检验 ............................ 217
9.7.2 稳健多元方差分析 ..................... 219
9.8 用回归来做 ANOVA ............................. 219
9.9 小结 ....................................................... 221
第 10 章 功效分析 ....................................... 222
10.1 假设检验速览 ...................................... 222
10.2 用 pwr 包做功效分析 .......................... 225
10.2.1 t 检验 ...................................... 225
10.2.2 方差分析 ................................ 227
10.2.3 相关性 .................................... 227
10.2.4 线性模型 ................................ 228
10.2.5 比例检验 ................................ 229
10.2.6 卡方检验 ................................ 229
10.2.7 在新情况中选择合适的
效应值 .................................... 230
10.3 绘制功效分析图形 .............................. 232
图灵社区会员 matrixvirus(matrixvirus@163.com) 专享 尊重版权
XVIII 目 录
10.4 其他软件包 .......................................... 234
10.5 小结 ..................................................... 235
第 11 章 中级绘图 ........................................ 236
11.1 散点图 ................................................. 237
11.1.1 散点图矩阵 ............................ 239
11.1.2 高密度散点图 ........................ 244
11.1.3 三维散点图 ............................ 247
11.1.4 气泡图 .................................... 250
11.2 折线图 ................................................. 252
11.3 相关图 ................................................. 255
11.4 马赛克图 .............................................. 259
11.5 小结 ..................................................... 261
第 12 章 重抽样与自助法 ........................... 263
12.1 置换检验 .............................................. 263
12.2 用 coin 包做置换检验 ........................ 265
12.2.1 独立两样本和 K 样本检验 ..... 266
12.2.2 列联表中的独立性 ................. 267
12.2.3 数值变量间的独立性 ............. 268
12.2.4 两样本和 K 样本相关性
检验 ........................................ 268
12.2.5 深入探究 ................................ 269
12.3 lmPerm 包的置换检验 ......................... 269
12.3.1 简单回归和多项式回归 ......... 269
12.3.2 多元回归 ................................ 271
12.3.3 单因素方差分析和协方
差分析 .................................... 271
12.3.4 双因素方差分析 ..................... 272
12.4 置换检验点评 ...................................... 273
12.5 自助法 ................................................. 273
12.6 boot 包中的自助法 ............................ 274
12.6.1 对单个统计量使用自助法 ..... 275
12.6.2 多个统计量的自助法 ............. 277
12.7 小结 ..................................................... 279
第四部分 高级方法
第 13 章 广义线性模型 ............................... 282
13.1 广义线性模型和 glm() 函数 ............... 282
13.1.1 glm() 函数 ............................. 283
13.1.2 连用的函数 ............................ 284
13.1.3 模型拟合和回归诊断 ............. 285
13.2 Logistic 回归 ....................................... 285
13.2.1 解释模型参数 ........................ 288
13.2.2 评价预测变量对结果概率的影响 .................................... 289
13.2.3 过度离势 ................................ 290
13.2.4 扩展 ........................................ 291
13.3 泊松回归 ............................................. 291
13.3.1 解释模型参数 ........................ 293
13.3.2 过度离势 ................................ 294
13.3.3 扩展 ........................................ 295
13.4 小结 ..................................................... 297
第 14 章 主成分和因子分析 ...................... 298
14.1 R 中的主成分和因子分析 ................... 299
14.2 主成分分析 .......................................... 300
14.2.1 判断主成分的个数 ................. 300
14.2.2 提取主成分 ............................ 302
14.2.3 主成分旋转 ............................ 305
14.2.4 获取主成分得分 .................... 306
14.3 探索性因子分析 .................................. 307
14.3.1 判断需提取的公共因子数 ..... 308
14.3.2 提取公共因子 ........................ 309
14.3.3 因子旋转 ................................ 310
14.3.4 因子得分 ................................ 313
14.3.5 其他与 EFA 相关的包 ........... 313
14.4 其他潜变量模型 .................................. 314
14.5 小结 ..................................................... 314
第 15 章 处理缺失数据的高级方法 ......... 316
15.1 处理缺失值的步骤 .............................. 317
15.2 识别缺失值 .......................................... 318
15.3 探索缺失值模式 .................................. 319
15.3.1 列表显示缺失值 .................... 319
15.3.2 图形探究缺失数据 ................. 320
15.3.3 用相关性探索缺失值 ............. 322
15.4 理解缺失数据的来由和影响 ............... 324
15.5 理性处理不完整数据 .......................... 325
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