《R语言数据分析从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了R语言基础知识、核心技术与高级应用。全书分为3篇,共16章,包括初识R语言、集成开发环境RStudio、R语言入门、数据结构、流程控制语句、日期和时间序列、获取数据、数据处理与清洗、数据计算与分组统计、基本绘图、ggplot2高级绘图、lattice高级绘图、基本统计分析、方差分析、回归分析和时间序列分析等内容。所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,还有部分代码解析。
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书畅销品牌之一。
(1)2008—2023年,丛书累计修订7次,销售400万册,深受广大程序员喜爱。
(2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖,多数品种在全国计算机零售图书排行榜排行中名列前茅。
(3)实用、易懂、资源丰富,被数百所高校选为专业课教材。
《R语言数据分析从入门到精通》图书特点如下。
1. 学通R语言只需要3步:基础知识→核心技术→高级应用,符合认知规律。
2. 77集同步教学微课 在线交流,夯实基础,精准,有效,速练,适合自学。
3. 242个应用实例,学习1小时,训练10小时,真正成为R语言高手。
4. 关注清大文森学堂公众号,可获取软件开发就业知识、技术/行业热点动态、面试辅导等直播课。
丛书说明:“软件开发视频大讲堂”丛书第1版于2008年8月出版,因其编写细腻、易学实用、配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。
“软件开发视频大讲堂”丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版,第6版于2021年7月出版。十五年间反复锤炼,打造经典。丛书迄今累计重印680多次,销售400多万册,不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。
“软件开发视频大讲堂”丛书第7版在继承前6版所有优点的基础上,进行了大幅度的修订。第一,根据当前的技术趋势与热点需求调整品种,拓宽了程序员岗位就业技能用书;第二,对图书内容进行了深度更新、优化,如优化了内容布置,弥补了讲解疏漏,将开发环境和工具更新为新版本,增加了对新技术点的剖析,将项目替换为更能体现当今IT开发现状的热门项目等,使其更与时俱进,更适合读者学习;第三,改进了教学微课视频,为读者提供更好的学习体验;第四,升级了开发资源库,提供了程序员“入门学习→技巧掌握→实例训练→项目开发→求职面试”等各阶段的海量学习资源;第五,为了方便教学,制作了全新的教学课件PPT。
R语言最初是由新西兰奥克兰大学统计系的Ross Ihaka和Robert Gentleman教授在S语言基础上开发完成的。之所以叫作R语言,是因为两位教授名字的第一个字母都是R。
R语言是一门解释型的编程语言,同时也是一门数学逻辑性极强的开发语言。它具有出色的计算与统计分析能力,可以用较少的代码完成许多复杂的数据分析工作。简而言之,R 语言是一款极其优秀的,可进行数据处理、数据建模和数据可视化的工具。
本书内容
本书提供了从R语言入门到数据分析、数据可视化与数据建模所必需的各类知识,共分为3篇。
第1篇:基础知识。本篇重点介绍R语言入门者必须掌握的基础知识,包括初识R语言、集成开发环境RStudio、R语言入门、数据结构、流程控制语句、日期和时间序列。
第2篇:核心技术。本篇按照数据分析的基本流程,详细介绍了获取数据、数据处理与清洗、数据计算与分组统计、基本绘图、ggplot2高级绘图、lattice高级绘图,以及基本统计分析方法。由于数据可视化是数据分析、数据建模中最重要的部分,因此本书介绍了3款数据可视化工具。
第3篇:高级应用。本篇详细讲解了常用的数据分析与建模方法,包括方差分析、回归分析和时间序列分析,并给出了大量的案例。
本书特点
由浅入深,循序渐进:本书以初、中级程序员和数据分析爱好者为对象,先介绍R语言基础知识,帮助初学者掌握数据分析的基本流程,然后介绍R语言数据分析、数据可视化和基本统计分析等核心知识,最后介绍常用的数据分析方法和建模方式。本书知识讲解由浅入深,全面详尽,掌握书中内容,读者即可获得系统的统计分析知识和扎实的数据分析能力。
微课视频,讲解详尽:为便于读者直观感受数据分析的全过程,书中重要章节配备了教学微课视频(共77集,时长15小时),使用手机扫描章节标题一侧的二维码,即可观看学习。这些同步教学视频可为读者扫除学习障碍,使大家体验R语言的强大,感受编程的快乐,增强深入学习的信心。
基础知识 应用实例,实战为王:通过例子学习是最好的学习方式,本书核心知识的讲解通过“知识点 实例”的模式,详尽透彻地介绍了R语言数据分析所需的各类知识。全书共计242个应用实例,为初学者打造“边学边练、杜绝枯燥”强化实战学习环境,使读者能真正掌握R语言数据分析技术。
精彩栏目,贴心提醒:本书精心设计了“注意”“说明”“技巧”等提示栏目,通过它们,读者可轻松理解统计分析中一些抽象的概念,绕过开发陷阱,掌握数据分析的各类实用技巧。
读者对象:对数据分析感兴趣的读者;高校统计学等相关专业的学生;各行各业的数据分析、挖掘、建模人员;经常需要进行专业绘图的科技工作者;程序开发人员。
本书学习资源
本书提供了大量的辅助学习资源,读者需刮开图书封底的防盗码,扫描并绑定微信后,获取学习权限。
学习书中知识时,扫描章节名称旁的二维码,可在线观看教学视频。
关注清大文森学堂公众号,可获取本书的PPT课件、视频等资源。
读者扫描图书封底的“文泉云盘”二维码,或登录清华大学出版社网站,可在对应图书页面下查阅各类学习资源的获取方式。
致读者
本书由明日科技数据分析团队组织编写。明日科技是一家专业从事软件开发、教育培训及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学以及相关知识的拓展,深受读者喜爱。其编写的教材多次荣获“全行业优秀畅销品种”“中国大学出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
在本书编写的过程中,我们以科学、严谨的态度,力求精益求精,但书中难免有疏漏和不妥之处,敬请广大读者批评指正。
感谢您选择本书,希望本书能成为您编程路上的领航者。
“零门槛”学编程,一切皆有可能。
祝读书快乐!
明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
第1篇 基础知识
第1章 初识R语言 2
视频讲解:9分钟
1.1 R语言概述 2
1.1.1 R语言简介 2
1.1.2 为什么要学习R语言 3
1.2 R开发环境的下载与安装 3
1.2.1 下载R开发环境 3
1.2.2 安装R开发环境 6
1.3 编写第一个R语言程序 7
第2章 集成开发环境RStudio 9
视频讲解:12分钟
2.1 RStudio概述 9
2.2 下载与安装RStudio 9
2.2.1 下载RStudio 9
2.2.2 安装RStudio 11
2.3 使用RStudio编写R程序 12
2.4 详解RStudio集成开发环境 16
2.4.1 RStudio编辑窗口 16
2.4.2 菜单栏介绍 17
2.4.3 RStudio特色功能 18
2.4.4 RStudio常用的快捷键 18
第3章 R语言入门 19
视频讲解:46分钟
3.1 R语言编码规则 19
3.1.1 控制台规则 19
3.1.2 赋值语句的写法 20
3.1.3 输入的规则 20
3.2 R语言基础 20
3.2.1 常用保留字 20
3.2.2 变量 21
3.2.3 基本数据类型 22
3.2.4 运算符 23
3.3 函数 27
3.3.1 内置函数 27
3.3.2 自定义函数的创建和调用 28
3.3.3 返回值 29
3.4 字符串 29
3.4.1 字符串规范 29
3.4.2 字符串常用函数 30
3.4.3 连接字符串 30
3.4.4 计算字符串长度 31
3.4.5 字符大小写转换 31
3.4.6 截取字符串 32
3.4.7 查询字符串 32
3.5 包的安装与使用 33
3.5.1 查看包 33
3.5.2 包的安装 34
3.5.3 包的使用 35
3.6 R语言帮助文档 35
3.6.1 help菜单命令 35
3.6.2 帮助函数 36
3.7 要点回顾 37
第4章 数据结构 38
视频讲解:104分钟
4.1 向量 38
4.1.1 创建向量 38
4.1.2 向量索引 42
4.1.3 向量操作 43
4.1.4 向量运算 44
4.1.5 向量排序 45
4.1.6 向量合并 47
4.2 矩阵 48
4.2.1 创建矩阵 48
4.2.2 矩阵索引 50
4.2.3 矩阵编辑 51
4.2.4 矩阵运算 52
4.3 数组 56
4.3.1 认识数组 56
4.3.2 创建数组 57
4.3.3 数组索引 58
4.3.4 修改数组 59
4.4 数据框 60
4.4.1 创建数据框 60
4.4.2 查看数据框信息 61
4.4.3 获取指定数据 63
4.4.4 数据的处理 64
4.5 因子 66
4.5.1 因子的概念及应用 67
4.5.2 创建因子 67
4.5.3 调整因子水平 68
4.6 列表 68
4.6.1 创建列表 69
4.6.2 列表的索引 69
4.7 要点回顾 70
第5章 流程控制语句 71
视频讲解:26分钟
5.1 程序结构 71
5.2 选择语句 72
5.2.1 if语句 72
5.2.2 if...else语句 73
5.2.3 if...else if...else语句 74
5.2.4 多分支swich语句 75
5.2.5 向量化的ifelse语句 76
5.3 循环语句 77
5.3.1 repeat语句 77
5.3.2 while语句 77
5.3.3 for语句 78
5.3.4 replication()函数 79
5.4 跳转语句 79
5.4.1 next语句 79
5.4.2 break语句 80
5.5 要点回顾 80
第6章 日期和时间序列 81
视频讲解:86分钟
6.1 日期和时间函数 81
6.1.1 返回系统当前日期和时间 81
6.1.2 时间函数as.POSIXlt()和as.POSIXct() 82
6.2 日期格式转换 83
6.2.1 as.Date()函数 83
6.2.2 format()函数 85
6.2.3 其他函数 85
6.3 生成日期时间 86
6.3.1 生成日期序列 86
6.3.2 生成时间序列 87
6.3.3 创建时间序列对象 87
6.4 日期时间运算 88
6.4.1 日期直接相减 88
6.4.2 使用difftime()函数计算时间差 89
6.5 日期时间处理包—lubridate包 89
6.5.1 提取日期和时间 89
6.5.2 解析日期和时间 90
6.5.3 时间日期计算 92
6.5.4 时间间隔 93
6.5.5 时区的操作 93
6.6 时间序列基础包—zoo包 94
6.6.1 创建时间序列 95
6.6.2 类型转换 96
6.6.3 数据操作 97
6.7 时间序列扩展包—xts包 100
6.7.1 创建时间序列 100
6.7.2 xts包的基本操作 100
6.7.3 按时间统计数据 102
6.7.4 更改时间周期 103
6.8 要点回顾 104
第2篇 核心技术
第7章 获取数据 106
视频讲解:39分钟
7.1 手动输入数据 106
7.1.1 数据编辑器 106
7.1.2 在代码中直接输入数据 107
7.2 读取外部数据 108
7.2.1 读取文本文件、CSV文件 108
7.2.2 读取Excel文件 110
7.2.3 读取SPSS文件 111
7.2.4 读取Stata文件 112
7.2.5 读取SAS文件 113
7.2.6 导入数据库中的数据 114
7.2.7 读取XML文件 117
7.3 R语言自带的数据集 118
7.3.1 数据集介绍 118
7.3.2 mtcars数据集 120
7.4 要点回顾 120
第8章 数据处理与清洗 121
视频讲解:73分钟
8.1 查看数据概况 121
8.1.1 查看数据的基本信息 121
8.1.2 查看摘要信息 123
8.1.3 查看数据整体概况 123
8.2 数据清洗 124
8.2.1 缺失值的检测与处理 124
8.2.2 重复值的检测与处理 126
8.2.3 异常值的检测与处理 127
8.2.4 数据排序 128
8.2.5 数据抽样 130
8.3 字符串处理—stringr包 131
8.3.1 stringr包中的字符串处理函数 131
8.3.2 字符串替换函数str_sub() 132
8.3.3 字符串分割函数str_split() 133
8.3.4 正则表达式的应用 134
8.4 数据合并与拆分 136
8.4.1 数据合并 136
8.4.2 数据拆分 139
8.4.3 数据分段 140
8.5 数据转换与重塑 141
8.5.1 将数据转换为数字格式 141
8.5.2 数据转置 142
8.5.3 数据整合 142
8.6 要点回顾 143
第9章 数据计算与分组统计 144
视频讲解:58分钟
9.1 数据计算 144
9.1.1 求和 144
9.1.2 求均值 147
9.1.3 求最大值 148
9.1.4 求最小值 148
9.1.5 求中位数 149
9.1.6 求众数 149
9.1.7 求方差 150
9.1.8 求标准差 151
9.1.9 求分位数 152
9.1.10 求多个计算结果 152
9.2 数据分组统计 153
9.2.1 apply()、tapply()、sapply()、lapply()函数 153
9.2.2 分组统计函数aggregate() 154
9.2.3 分组函数group_by() 156
9.3 数据透视表 156
9.3.1 dcast()函数 157
9.3.2 gather()函数 158
9.3.3 spread()函数 158
9.4 要点回顾 159
第10章 基本绘图 160
视频讲解:88分钟
10.1 图表的常用设置 160
10.1.1 基本绘图函数plot() 160
10.1.2 设置画布 164
10.1.3 设置坐标轴 164
10.1.4 添加文本标签 166
10.1.5 设置标题和图例 167
10.1.6 设置参考线 169
10.1.7 保存图表 169
10.2 基础图表的绘制 170
10.2.1 折线图 170
10.2.2 柱形图 171
10.2.3 饼形图 173
10.3 统计分布图的绘制 175
10.3.1 直方图 176
10.3.2 散点图 177
10.3.3 箱形图 178
10.4 多子图的绘制 182
10.4.1 par()函数 182
10.4.2 layout()函数 184
10.5 要点回顾 186
第11章 ggplot2高级绘图 187
视频讲解:95分钟
11.1 ggplot2入门 187
11.1.1 ggplot2概述 187
11.1.2 安装ggplot2 188
11.1.3 ggplot2绘图流程 188
11.1.4 ggplot2基本语法 189
11.1.5 ggplot2常用绘图函数 189
11.2 ggplot2绘图的基本设置 191
11.2.1 标题 191
11.2.2 坐标轴 192
11.2.3 添加文本标签 193
11.2.4 图例 194
11.2.5 更改字体大小 196
11.2.6 主题 197
11.2.7 保存图形 199
11.3 使用ggplot2绘制图表 199
11.3.1 折线图 199
11.3.2 散点图 203
11.3.3 柱形图 205
11.3.4 直方图 208
11.3.5 箱形图 209
11.3.6 面积图 210
11.3.7 密度图 211
11.3.8 小提琴图 213
11.4 使用ggplot2绘制分面图 214
11.4.1 facet_grid()函数 214
11.4.2 facet_wrap()函数 216
11.5 要点回顾 218
第12章 lattice高级绘图 219
视频讲解:60分钟
12.1 lattice入门 219
12.2 使用lattice绘制图表 220
12.2.1 散点图 220
12.2.2 散点图矩阵 222
12.2.3 条形图 222
12.2.4 箱形图 224
12.2.5 点图 225
12.2.6 直方图 225
12.2.7 核密度图 226
12.2.8 条纹图 227
12.2.9 平行坐标图 227
12.2.10 3D绘图 227
12.3 lattice绘图的常用设置 229
12.3.1 lattice绘图的组成部分 229
12.3.2 标题设置 229
12.3.3 坐标轴设置 230
12.3.4 图例设置 230
12.3.5 颜色符号和线条设置 232
12.3.6 条件变量 233
12.3.7 分组变量 234
12.3.8 面板设置 234
12.4 使用lattice绘制多子图 236
12.4.1 plot()函数 236
12.4.2 ggarrange()函数 237
12.5 要点回顾 237
第13章 基础统计分析 238
视频讲解:65分钟
13.1 描述性统计分析 238
13.1.1 summary()函数 238
13.1.2 describe()函数 239
13.1.3 stat.desc()函数 240
13.1.4 分组计算描述性统计量 241
13.2 概率与数据分布 243
13.2.1 概率 243
13.2.2 数据分布概述 243
13.2.3 正态分布 245
13.2.4 二项分布 246
13.2.5 泊松分布 246
13.3 列联表和频数表 247
13.3.1 table()函数 247
13.3.2 ftable()函数 248
13.3.3 xtab()函数 248
13.4 独立性检验 248
13.4.1 卡方检验 249
13.4.2 Fisher精确检验 249
13.4.3 Cochran-Manel-Haenszel检验 250
13.5 相关性分析 250
13.5.1 相关系数 251
13.5.2 相关性分析 253
13.6 t检验 255
13.6.1 独立样本的t检验 255
13.6.2 非独立样本的t检验 256
13.7 要点回顾 257
第3篇 高级应用
第14章 方差分析 260
视频讲解:43分钟
14.1 方差分析概述 260
14.1.1 方差分析的概念 260
14.1.2 常见术语 260
14.1.3 方差分析表 261
14.2 方差分析的基本流程 262
14.3 aov()函数 262
14.4 单因素方差分析 263
14.4.1 正态性检验 264
14.4.2 方差齐性检验 267
14.4.3 单因素方差分析案例 268
14.5 双因素方差分析 271
14.5.1 主效应分析 271
14.5.2 交互效应分析 273
14.6 要点回顾 273
第15章 回归分析 274
视频讲解:35分钟
15.1 回归分析概述 274
15.1.1 什么是回归分析 274
15.1.2 回归分析的应用 275
15.2 回归分析的基本流程 275
15.3 假设检验 276
15.3.1 线性关系 276
15.3.2 评估模型性能 277
15.3.3 多重共线性检验 278
15.4 一元线性回归 278
15.4.1 lm()函数 279
15.4.2 predict()函数 280
15.4.3 一元线性回归案例 280
15.4.4 predict()函数错误调试 282
15.5 多元线性回归 283
15.5.1 相关系数矩阵 283
15.5.2 散点图矩阵 284
15.5.3 多元线性回归案例 285
15.6 要点回顾 290
第16章 时间序列分析 291
视频讲解:73分钟
16.1 时间序列分析概述 291
16.1.1 什么是时间序列分析 291
16.1.2 时间序列分析的应用领域 292
16.2 时间序列的基本操作 292
16.2.1 转换时间序列 292
16.2.2 绘制时间序列图 293
16.3 平稳性检验 294
16.3.1 时序图 294
16.3.2 自相关图与acf()函数 295
16.3.3 偏自相关图与pacf()函数 297
16.3.4 单位根检验 298
16.4 差分 300
16.4.1 什么是差分 300
16.4.2 计算差分函数ndiffs() 300
16.4.3 差分函数diff() 301
16.5 纯随机性检验 302
16.6 ARMA模型—自回归移动平均模型 302
16.6.1 什么是ARMA模型 302
16.6.2 ARMA建模流程 303
16.6.3 模型判定 303
16.6.4 建模函数arima() 304
16.6.5 自动定阶建模函数auto.arima() 304
16.6.6 模型检验 305
16.6.7 预测函数forecast() 306
16.6.8 尼罗河流量分析案例 306
16.7 ARIMA模型—自回归差分移动平均模型 310
16.7.1 什么是ARIMA模型 310
16.7.2 ARIMA模型的应用 310
16.7.3 大气中CO2含量趋势分析案例 310
16.8 非平稳时间序列分析 312
16.8.1 非平稳时间序列概述 312
16.8.2 分解时间序列函数decompose() 312
16.8.3 指数平滑模型HoltWinters() 315
16.8.4 基于指数平滑模型预测销售额 315
16.9 要点回顾 317