第1章 绪论 1
1.1为什么学习R语言 1
1.1.1 R是什么 1
1.1.2 R语言主要优势 2
1.2正确的数据思维观 4
1.2.1数学思维 5
1.2.2统计思维 5
1.2.3逻辑思维 10
习题 12
基础篇 17
第2章 R语言入门 17
2.1新手上路 17
2.1.1两个例子 17
2.1.2 R是什么 19
2.2 R语言开发环境部署 19
2.2.1安装R 19
2.2.2安装RStudio 20
2.3获取帮助 22
2.3.1文档和搜索 22
2.3.2演示 22
2.3.3帮助函数 23
2.4工作空间 23
2.5脚本 24
2.6 R包 25
习题 25
第3章 数据类型 27
3.1变量与常量 27
3.1.1变量 27
3.1.2常量 28
3.2结构类型 28
3.2.1向量 29
3.2.2矩阵 31
3.2.3数组 33
3.2.4数据框 35
3.2.5因子 36
3.2.6列表 37
3.3字符串操作 38
3.3.1基本操作 38
3.3.2字符串处理stringr包 39
3.4用于数据处理和转换的常用函数 40
习题 41
第4章 数据准备 43
4.1数据导入 43
4.1.1键盘输入数据 44
4.1.2导入文本文件 45
4.1.3导入Excel数据 46
4.1.4导入数据库文件 47
4.2数据导出 48
4.2.1导出文本文件 48
4.2.2保存图片 49
习题 49
第5章 数据可视化 51
5.1低水平绘图命令 51
5.1.1点 51
5.1.2线 54
5.1.3面 56
5.2高水平绘图命令 59
5.2.1认识ggplot2 59
5.2.2几何对象 59
5.2.3映射 60
5.2.4统计对象 62
5.2.5标度 63
5.2.6分面 65
5.2.7其他修饰 67
5.3交互式绘图命令 69
5.3.1 rCharts包 69
5.3.2 plotly包 70
5.3.3 shiny 72
习题 80
第6章 数据探索 82
6.1缺失值分析 82
6.1.1与缺失值相关的几个概念 82
6.1.2缺失值检测 83
6.2异常值分析 84
6.2.1箱线图检验离群点 85
6.2.2散点图检测离群点 86
6.2.3 LOF方法检测异常值 87
6.2.4聚类方法检测异常值 87
6.3不一致值分析 88
6.4数据的统计特征分析 88
6.4.1分布分析 88
6.4.2对比分析 90
6.4.3统计量分析 91
6.4.4周期性分析 93
6.4.5相关性分析 94
习题 97
第7章 数据变换 100
7.1数据清洗 100
7.1.1缺失数据处理 100
7.1.2数据去重 101
7.1.3规范化 102
7.2数据选择 103
7.2.1删除有75%以上相同数值的自变量 103
7.2.2删除高相关性的自变量 104
7.2.3重要变量的选择 105
7.2.4数据集选择 106
7.2.5主成分分析 106
7.2.6因子分析 108
7.3数据集成 109
7.3.1通过向量化重构数据 109
7.3.2为数据添加新变量 110
7.3.3数据透视表 112
7.3.4频度 117
7.3.5数据整合 118
7.3.6分组汇总 121
习题 124
第8章 高级编程 126
8.1控制结构 126
8.1.1选择结构程序设计 126
8.1.2循环结构程序设计 127
8.2用户自定义函数 128
习题 129
第9章 数据建模 132
9.1 Rattle包 132
9.2聚类模型 139
9.2.1背景 139
9.2.2 K-Means聚类 139
9.2.3 Ewkm聚类 142
9.2.4层次聚类(Hierachical) 144
9.2.5双向聚类(BiCluster) 146
9.3关联分析模型 147
9.3.1背景 147
9.3.2基本术语 148
9.3.3关联规则的分类 149
9.3.4 Apriori算法 150
9.3.5实验指导 151
9.4传统决策树模型 153
9.4.1背景 153
9.4.2 ID3算法 155
9.4.3 C4.5算法 156
9.4.4实验指导 156
9.5随机森林决策树模型 159
9.5.1背景 159
9.5.2随机森林算法 159
9.5.3实验指导 161
9.6自适应选择决策树模型 164
9.6.1背景 164
9.6.2 Boosting算法 164
9.6.3 adaboost算法 165
9.6.4实验指导 165
9.7 SVM 169
9.7.1背景 169
9.7.2 SVM算法 169
9.7.3实验指导 172
9.8线性回归模型 173
9.8.1背景 173
9.8.2一元线性回归方法 173
9.8.3实验指导 175
9.9神经网络模型 175
9.9.1背景 175
9.9.2人工神经网络模型 176
9.9.3实验指导 179
习题 181
第10章 模型评估 185
10.1数据集 185
10.2混淆矩阵 186
10.2.1二分类混淆矩阵 186
10.2.2模型评价指标 187
10.2.3多分类混淆矩阵 188
10.3风险图 188
10.3.1风险图的作用 188
10.3.2实验指导 189
10.4 ROC曲线 191
10.4.1什么是ROC曲线 191
10.4.2 ROC曲线作用 191
10.4.3实验指导 191
习题 193
应用篇 197
第11章 影响大学平均录取分数线因素分析 197
11.1背景与目标 197
11.2数据说明 197
11.3描述性分析 200
11.4总结与建议 203
第12章 收视率分析 204
12.1背景介绍 204
12.2数据说明 204
12.3描述性分析 205
12.4总结与建议 211
进阶篇 215
第13章 RHadoop 215
13.1认识RHadoop 215
13.1.1为什么要让Hadoop结合R语言 215
13.1.2 Mahout与R在做数据挖掘的区别 216
13.2 RHadoop安装 216
13.2.1依赖包安装 216
13.2.2 RHadoop的特点 219
13.3综合练习 220
习题 225
第14章 SparkR 228
14.1认识SparkR 228
14.1.1安装SparkR 228
14.1.2在R或 Rstudio中调用SparkR 228
14.2 SparkDataFrame 229
14.3 SparkR支持的机器学习算法 230
14.4综合练习 230
14.4.1加载数据 230
14.4.2 SparkDataFrame基本操作 231
14.4.3从Spark上运行SQL查询 233
14.4.4 SparkR操作hdfs上的文件 233
14.4.5通过SparkR操作spark-sql以hive的表为对象 234
习题 234
参考文献 236
附录 大数据和人工智能实验环境 238