本书全面介绍了如何利用R语言绘制各种统计图形,书中的所有统计图形都给出了实例源代码,读者可以通过代码进行复现。本书共13章,涵盖的主要内容有R语言数据可视化简介;数据处理与探索;数据可视化;单变量图形绘制;两个同类型变量的图形绘制;离散变量和连续变量之间的图形绘制;高维图形绘制;其他图形绘制;图形元素、标题和图例;颜色等参数的调整;合并多幅图形;R语言绘图包;Shiny工具包。
本书适合R语言数据可视化入门与进阶读者阅读,也适合数据分析和数据挖掘的从业者及其他数据科学从业者阅读。另外,本书还适合统计学、计算机、机器学习和数学等相关专业的本科生及研究生作为参考读物。
封面图
目录
- 前言
- 第1章 R语言数据可视化简介1
- 1.1 R语言介绍1
- 1.1.1 向量3
- 1.1.2 列表3
- 1.1.3 矩阵4
- 1.1.4 数组5
- 1.1.5 因子5
- 1.1.6 数据框6
- 1.1.7 for循环7
- 1.1.8 条件判断8
- 1.1.9 函数9
- 1.2 Rstudio介绍12
- 1.3 R包介绍13
- 1.4 R语言数据读取14
- 1.4.1 读取Excel数据15
- 1.4.2 读取SPSS、SAS和STATA数据17
- 1.5 ggplot2介绍18
- 1.5.1 使用qplot函数快速绘图19
- 1.5.2 使用ggplot函数绘图20
- 1.6 统计图形22
- 1.6.1 散点图22
- 1.6.2 箱线图24
- 1.6.3 小提琴图25
- 1.6.4 条形图27
- 1.6.5 和弦图28
- 1.6.6 桑基图30
- 1.6.7 棒棒糖图31
- 1.6.8 克利夫兰点图32
- 1.6.9 艺术图34
- 1.7 tidyverse介绍38
- 1.8 总结41
- 第2章 数据处理与探索42
- 2.1 数据转换42
- 2.1.1 筛选数据集的行42
- 2.1.2 筛选数据集的列46
- 2.1.3 数据排序及新变量生成48
- 2.1.4 数据分组汇总49
- 2.1.5 数据合并50
- 2.2 数据重塑54
- 2.2.1 数据聚合55
- 2.2.2 数据分散56
- 2.2.3 数据切割57
- 2.2.4 数据合并58
- 2.3 总结59
- 第3章 数据可视化60
- 3.1 ggplot2核心概念60
- 3.1.1 散点图62
- 3.1.2 折线图64
- 3.1.3 条形图66
- 3.1.4 直方图68
- 3.1.5 密度图72
- 3.1.6 箱线图75
- 3.2 总结79
- 第4章 单变量图形绘制80
- 4.1 面积图80
- 4.1.1 面积图的绘制方式82
- 4.1.2 绘制堆叠的面积图85
- 4.1.3 绘制比例堆叠面积图88
- 4.2 密度图90
- 4.2.1 基础密度图95
- 4.2.2 绘制少量分组的密度图96
- 4.2.3 绘制大量分组的密度图101
- 4.2.4 密度图的其他调整103
- 4.3 直方图105
- 4.3.1 基础直方图107
- 4.3.2 分组直方图的绘制109
- 4.3.3 合并直方图与密度图111
- 4.4 频率图113
- 4.5 总结114
- 第5章 两个同类型变量的图形绘制115
- 5.1 散点图115
- 5.1.1 绘制基础散点图118
- 5.1.2 绘制分组散点图121
- 5.1.3 添加拟合曲线127
- 5.1.4 在散点图中添加地毯图130
- 5.1.5 在散点图中添加文本136
- 5.2 抖动点图140
- 5.3 连续二维分布图142
- 5.3.1 绘制二维直方图143
- 5.3.2 绘制六角直方图144
- 5.3.3 绘制二维密度直方图145
- 5.3.4 调整图形配色147
- 5.4 线图148
- 5.4.1 绘制基础线图155
- 5.4.2 绘制连线图160
- 第6章 分类变量和连续变量的图形绘制163
- 6.1 箱线图163
- 6.1.1 绘制基础箱线图174
- 6.1.2 调整参数175
- 6.1.3 调整箱线图组别的顺序176
- 6.1.4 调整颜色183
- 6.1.5 构建分组箱线图191
- 6.1.6 调整箱线图的宽度193
- 6.1.7 构建连续变量的箱线图194
- 6.1.8 添加平均值195
- 6.1.9 添加抖动点196
- 6.2 小提琴图197
- 6.2.1 绘制基础的小提琴图200
- 6.2.2 绘制水平的小提琴图201
- 6.2.3 在小提琴图中添加箱线图203
- 6.3 棒棒糖图204
- 6.3.1 绘制分组的棒棒糖图209
- 6.3.2 绘制基础棒棒糖图217
- 6.3.3 棒棒糖图参数的调节219
- 6.3.4 添加标注224
- 6.4 条形图226
- 6.4.1 绘制基础条形图229
- 6.4.2 改变条形图宽度235
- 6.4.3 添加误差棒235
- 6.5 圆形条形图241
- 6.5.1 绘制基础圆形条形图250
- 6.5.2 添加标签252
- 6.5.3 圆形条形图的更多调整253
- 6.6 饼图259
- 6.6.1 绘制基础饼图263
- 6.6.2 调整细节264
- 6.6.3 添加标签265
- 6.7 甜甜圈图266
- 第7章 高维图形绘制270
- 7.1 气泡图270
- 7.1.1 绘制基础气泡图274
- 7.1.2 控制气泡的大小275
- 7.1.3 设置颜色276
- 7.1.4 调整更多的细节277
- 7.1.5 绘制动态图279
- 7.2 三维散点图280
- 7.3 流型图282
- 7.3.1 绘制基础流型图285
- 7.3.2 调整流型图的偏移286
- 7.3.3 调整流型图的形状与颜色287
- 7.4 相关矩阵图288
- 7.5 树状图291
- 7.5.1 绘制基础树状图295
- 7.5.2 绘制圆形树状图297
- 7.5.3 绘制聚类结果的树状图298
- 7.5.4 更多调整302
- 7.6 圆形包装图308
- 7.6.1 具有一个层次的圆形包装图310
- 7.6.2 调整颜色311
- 7.6.3 调整圆形之间的距离315
- 7.6.4 绘制多层次的圆形包装图315
- 7.6.5 调整细节317
- 7.6.6 隐藏第一级321
- 7.7 树形图325
- 7.7.1 绘制基础树形图326
- 7.7.2 绘制带有多个级别的树形图327
- 7.7.3 自定义树形图328
- 第8章 其他图形绘制332
- 8.1 和弦图332
- 8.1.1 绘制圆形图334
- 8.1.2 绘制基础和弦图337
- 8.1.3 调整细节340
- 8.2 桑基图343
- 8.3 网络图347
- 8.3.1 绘制基础网络图356
- 8.3.2 调整网络图的参数358
- 8.3.3 网络图布局361
- 8.3.4 将变量映射到节点和链接特征362
- 8.3.5 使用网络图可视化聚类结果364
- 8.4 旭日图366
- 8.5 雷达图368
- 8.5.1 绘制雷达图374
- 8.5.2 绘制多组雷达图375
- 8.6 词云376
- 8.6.1 绘制词云378
- 8.6.2 调整颜色和背景颜色379
- 8.6.3 调整形状381
- 8.6.4 调整单词方向382
- 8.7 平行图383
- 8.7.1 绘制基础平行图389
- 8.7.2 自定义颜色、主题和外观390
- 8.8 时间序列图391
- 8.8.1 时间序列包dygraphs396
- 8.8.2 时间序列热图397
- 8.9 交互式图形399
- 8.9.1 散点图400
- 8.9.2 气泡图401
- 8.9.3 面积图402
- 8.9.4 条形图404
- 8.9.5 饼图405
- 8.9.6 桑基图406
- 8.9.7 误差棒图408
- 8.9.8 箱线图409
- 8.9.9 直方图411
- 8.9.10 二维直方图413
- 8.9.11 二维轮廓直方图414
- 8.9.12 小提琴图415
- 8.9.13 雷达图416
- 8.9.14 热图418
- 8.9.15 三维散点图418
- 8.9.16 动画图420
- 8.9.17 调整图形图例421
- 8.9.18 修改交互文本422
- 8.10 动画图423
- 8.10.1 绘制基础动画图424
- 8.10.2 使用分面425
- 8.10.3 动态变化图形426
- 第9章 图形元素、标题和图例绘制429
- 9.1 添加图形元素429
- 9.2 主标题、轴标签和图例标题432
- 9.2.1 改变标签的外观434
- 9.2.2 修改图例436
- 9.2.3 修改图例的位置和外貌436
- 9.2.4 使用guides函数修改图例440
- 第10章 颜色等参数的调整445
- 10.1 图形颜色调整445
- 10.1.1 使用单个颜色调整图形446
- 10.1.2 通过分组调整颜色448
- 10.1.3 渐变或连续颜色455
- 10.2 点的形状、颜色和大小的调整457
- 10.3 线条类型调整460
- 10.4 坐标轴范围调整462
- 10.5 坐标轴转换465
- 10.6 时间数据坐标轴468
- 10.7 自定义标签471
- 10.8 图形主题和背景颜色477
- 10.9 自定义图形的背景480
- 10.10 删除面板边框和网格线481
- 10.11 ggthemes包482
- 10.12 文本注释483
- 10.13 ggrepel包485
- 10.14 添加直线488
- 10.15 图形翻转和反向490
- 10.16 分面491
- 第11章 合并多幅图形499
- 11.1 合并多幅图形到一张图中499
- 11.2 gridExtra包502
- 11.3 添加边际分布图505
- 11.4 在ggplot中插入一个外部图形元素506
- 第12章 R语言绘图包509
- 12.1 ggstatsplot包509
- 12.2 ggfortify包520
- 12.2.1 生存分析520
- 12.2.2 时间序列图521
- 12.2.3 密度图523
- 12.2.4 时间序列预测图524
- 12.2.5 聚类图527
- 12.2.6 热力图530
- 12.2.7 主成分分析可视化532
- 12.3 quantmod包535
- 第13章 Shiny工具包544
- 13.1 Shiny工具包简介544
- 13.2 Shiny App的基础部分548
- 13.3 Shiny示例550
- 13.4 Shiny总结553
- 13.5 制作一个Shiny程序554
- 13.6 Shiny部署556