《R语言与大数据编程实战》李倩星【文字版_PDF电子书_下载】
内容简介:
本书是一本R语言入门读物,它旨在帮助读者迅速构建起与数据分析相关的知识体系,并学习如何使用R软件实现数据分析方法。无论有无编程基础或数学基础,本书都能帮助读者成长为一名合格的数据分析师。本书全面介绍了来自统计分析、机器学习、人工智能等领域的多种数据分析算法,在讲解与之相关的R代码时,还讨论了这些算法的原理、优缺点与适用背景。本书按照由易到难的原则组织章节主题,读者将获得*好的阅读体验。通过阅读本书,读者将对R语言在数据分析领域的应用有一个全面的认识。这种认识不被特定行业所局限,任何行业的读者都能利用本书介绍的数据分析方法解决本行业的数据分析问题。
作者简介:
李倩星:毕业于西南大学统计学专业,对数据挖掘、机器学习以及人工智能领域有深刻的研究。主持翻译了《传播学中的大数据:发展与不足》、《大数据、一个新兴领域的误区和方法与概念》、《数据挖掘揭示了差评导致的负反馈怪圈》等数十篇前沿科技文章,并发表于PPV课社区。
目 录:
目 录
第1章 R的基本介绍 1
1.1 强大的R 1
1.2 R语言在大数据中的应用 2
1.2.1 R语言用户行为分析 2
1.2.2 R语言处理金融大数据 3
1.2.3 R语言天气数据可视化 4
1.2.4 R语言医疗大数据分析 4
1.3 R的安装与启动 5
1.3.1 安装并启动R 6
1.3.2 安装并启动一个IDE 7
1.4 R的向量、矩阵和数组 8
1.4.1 向量的操作方法和固有属性 8
1.4.2 矩阵的操作和运算 10
1.4.3 数组中的维度函数 13
1.5 R的列表和数据框 14
1.5.1 列表的特性和编辑方法 14
1.5.2 数据框的创建和基本操作 17
1.6 R数据文件的载入和载出 19
1.6.1 结构化纯文本文件的读取和输出 19
1.6.2 其他文件的读取和输出 22
1.7 向R中安装包 23
第2章 原始数据的探索与预处理 26
2.1 度量数据集的集中程度 26
2.2 度量数据集的分散程度 27
2.2.1 极值、方差和标准差 27
2.2.2 标准误和偏度系数、峰度系数 29
2.3 创建一个数值摘要表 30
2.4 异常值的观测与说明 32
2.4.1 利用箱线图观测异常值并处理 32
2.4.2 异常值检测的其他情况和说明 34
2.5 缺失值的填补与处理 35
2.5.1 删除缺失值或对其进行简单填补 36
2.5.2 按照相关性对空缺值进行填补 38
第3章 R的数据可视化 40
3.1 plot()函数和常用的图形参数 40
3.1.1 设置plot()函数中的参数 40
3.1.2 修改散点图的坐标并加入标注 43
3.2 经典的基础图形及用途 45
3.2.1 线图 45
3.2.2 直方图 49
3.2.3 箱线图和茎叶图 52
3.3 将图形组合起来 55
3.4 更多的高水平作图函数 57
3.5 更多的常用作图命令 59
第4章 R中参数的估计和检验 62
4.1 使用R进行点估计和区间估计 62
4.1.1 简单的点估计和区间估计 62
4.1.2 估计单侧置信区间 65
4.2 与正态总体有关的参数检验 68
4.3 列联表与独立性检验 71
4.4 几种检验数据分布的函数 72
4.5 对非正态总体的区间估计和检验 75
4.5.1 非正态总体的区间估计 75
4.5.2 非参数检验中的符号检验 76
4.5.3 非参数检验中的秩检验 78
第5章 R中的方差分析 80
5.1 方差分析模型的建立 80
5.2 单因素方差分析 81
5.2.1 单因素方差分析的数学思想与模型 81
5.2.2 检验样本是否满足方差分析的假设条件 82
5.2.3 构建单因素方差分析模型 84
5.3 多因素方差分析 87
5.3.1 多因素方差分析的数学思想与模型 87
5.3.2 不考虑交互作用的双因素方差分析 88
5.3.3 考虑交互作用的双因素方差分析 89
5.4 秩检验和协方差分析 91
5.4.1 对控制变量应用秩检验方法 91
5.4.2 协方差分析的假设与应用 92
第6章 R中的相关分析和回归分析 94
6.1 多种相关系数的度量和分析 94
6.1.1 简单相关系数的计算和检验 94
6.1.2 散布矩阵图和偏相关系数 96
6.1.3 典型相关分析 98
6.2 线性回归分析及其常规参数 99
6.2.1 对数据进行预处理 100
6.2.2 构建第一个回归模型 101
6.2.3 修正方程并检验残差 102
6.3 使用逐步回归筛选自变量 104
6.3.1 逐步回归的思想与分类 104
6.3.2 构建逐步回归模型 105
6.4 哑变量和逻辑回归 107
6.4.1 哑变量和逻辑回归的思想 107
6.4.2 向线性回归模型中纳入哑变量 108
第7章 更高级的数据可视化 110
7.1 基础图形的拓展与延伸 110
7.1.1 绘制分类散点图并添加图标 110
7.1.2 绘制含多种类别的密度分布图 112
7.1.3 复合条形图和堆栈条形图 114
7.2 有关多元分布函数的特殊图形 117
7.2.1 星图和脸谱图 117
7.2.2 轮廓图 120
7.2.3 调和曲线图 122
7.3 建立最简单的3D图形 123
7.4 如何让图形更美观 125
7.5 更多的绘图包和系统 128
第8章 R中的聚类分析和判别分析 129
8.1 几种聚类分析的异同 129
8.2 使用R实现KNN聚类 130
8.2.1 KNN算法的思想和模型 130
8.2.2 使用R实现KNN聚类 131
8.3 使用R实现系统聚类 133
8.3.1 系统聚类的思想和模型 133
8.3.2 使用R实现系统聚类 134
8.4 使用R实现快速聚类 136
8.4.1 快速聚类的思想和模型 136
8.4.2 使用R实现快速聚类 137
8.5 几种判别分析模型综述 140
8.5.1 距离判别模型 140
8.5.2 Fisher判别模型 142
第9章 R中的主成分分析和因子分析 145
9.1 主成分分析的实现与应用 145
9.1.1 主成分分析的模型假设和数据处理 145
9.1.2 构造一个主成分分析模型 147
9.1.3 计算主成分的综合得分 149
9.2 因子分析的初次构建与完善 150
9.2.1 构造一个简单的因子分析模型 150
9.2.2 计算因子得分并分析 152
9.3 对因子分析模型进行修正 153
9.3.1 修改因子分析模型中的因子个数 153
9.3.2 基于主成分法和主轴因子法进行因子分析 155
9.4 在降维分析的基础上进行回归分析和聚类分析 157
9.4.1 在降维分析的基础上进行回归分析 157
9.4.2 在降维分析的基础上进行聚类分析 160
第10章 R中的广义线性回归模型 162
10.1 一般的广义线性回归模型 162
10.1.1 使用二次函数拟合线性回归模型 162
10.1.2 拟合更多的广义线性模型 164
10.1.3 比较线性模型的优劣 166
10.2 Logistic线性回归模型 168
10.2.1 Logistic模型的原理与构建方法 168
10.2.2 Logistic模型的显著性检验和优势比 170
10.2.3 修正被警告的Logistic模型 171
10.3 泊松回归分析模型 173
10.3.1 拟合第一个泊松回归模型 174
10.3.2 泊松回归模型的过散布检验 176
10.4 广义线性模型的交叉验证 178
第11章 R中的时间序列模型 180
11.1 将数据转换为时间序列格式 180
11.1.1 使用ts()函数转换数据格式并绘制时间序列曲线 180
11.1.2 使用zoo()函数转换数据格式并绘制时间序列曲线 182
11.2 分解时间序列并检验时间序列的自相关性 185
11.2.1 使用经典方法分解时间序列 185
11.2.2 使用STL方法分解时间序列 186
11.3 探究时间序列的自相关性 188
11.3.1 使用月图和季度图探究自相关性 188
11.3.2 使用散点图探究自相关性 189
11.4 构建时间序列并预测 191
11.4.1 均值预测、单纯预测和漂移 192
11.4.2 不考虑长期趋势和季节波动的简单指数平滑 195
11.4.3 在指数平滑中加入长期趋势和季节波动 196
11.4.4 自回归移动平均模型 198
第12章 R中的最优化问题 201
12.1 最优化问题简述 201
12.2 黄金分割法 202
12.2.1 黄金分割法和局部最优解 202
12.2.2 使用R实现黄金分割法 203
12.3 牛顿最优化方法 205
12.3.1 牛顿法的算法原理 206
12.3.2 在一维情形下实现牛顿迭代法 207
12.3.3 在多维情形下实现牛顿迭代法 209
12.4 最快上升法 210
12.4.1 利用梯度求解上升最快的相邻点 210
12.4.2 构建最快上升法函数并检验 212
12.5 R中的最优化函数 213
第13章 使用R绘制地理信息图形 216
13.1 绘制世界、国家、省市地图 216
13.1.1 使用map()函数绘制地图 216
13.1.2 另一种绘制地图的方法 218
13.1.3 分省市绘制地图 220
13.2 向地图中添加颜色 222
13.2.1 向地图中添加颜色前的准备工作 222
13.2.2 在地图上添加颜色 224
13.3 向地图中添加标签和线条 226
13.3.1 向地图中添加标签前的准备工作 226
13.3.2 在地图上添加标签 228
13.3.3 在地图上添加线条 230
13.4 使用其他格式的文件优化地图 232
第14章 使用R构建支持向量机 236
14.1 构建一个简单的支持向量机 236
14.1.1 支持向量机的算法原理 236
14.1.2 构建一个简单的支持向量机 238
14.1.3 使用其他核函数构建支持向量机 241
14.2 优化支持向量机的参数 243
14.2.1 优化参数degree 244
14.2.2 优化参数cost 247
14.2.3 优化参数gamma 249
14.3 比较支持向量机与Logistic回归的优劣 252
14.4 比较支持向量机和KNN聚类算法的优劣 255
第15章 实现更高效的流程控制和高级循环 257
15.1 R中的流程控制 257
15.1.1 if语句的多种实现方法 257
15.1.2 ifelse语句与花括号的结合 258
15.1.3 适合多分支情况的switch语句 260
15.2 R中的for循环、while循环和repeat循环 262
15.2.1 R中的for循环和while循环 262
15.2.2 R中的repeat循环 264
15.3 apply家族中的循环函数 266
15.3.1 R中的apply()函数 266
15.3.2 R中的lapply()函数和sapply()函数 269
15.3.3 R中的tapply()函数 271
15.3.4 R中的mapply()函数 274
15.4 更多的高级循环函数 276
15.4.1 R中的replicate()函数和sweep()函数 276
15.4.2 R中的aggregate()函数 279
第16章 R代码的调试与优化 282
16.1 R代码的常见信息与警告 282
16.1.1 R代码的正常信息与警告 282
16.1.2 R代码中的警告处理方法 284
16.2 R代码中的错误与错误处理方法 285
16.2.1 使用try()函数处理错误信息 285
16.2.2 将try()函数与循环相结合 287
16.3 调试R代码 288
16.3.1 查看调用栈或暂停代码 288
16.3.2 修改error选项 290
16.4 向量化编程方法 291
16.4.1 向量化编程思想 291
16.4.2 比较循环和向量的运行速度 292
第17章 构建电影评分预测模型 295
17.1 获取数据并探索 295
17.2 利用recommenderlab包处理数据 297
17.3 建立模型并评估 299
17.3.1 模型的选择与建立 299
17.3.2 模型之间的比较和评估 301
第18章 贝叶斯垃圾邮件过滤器模型 303
18.1 贝叶斯模型中的条件概率 303
18.2 复杂的数据预处理过程 304
18.2.1 利用for循环读入多封邮件正文 304
18.2.2 利用tm包进一步转换数据格式 306
18.2.3 将TDM转换成真正有用的数据框 307
18.3 利用occurrece值构造分类器 309
18.3.1 完成理论准备并处理测试邮件和普通邮件 309
18.3.2 创建一个函数