第一部分 开始 2
第1章 设置计算机 2
1.1 设置命令行工具 3
1.1.1 Mac上的命令行 3
1.1.2 Windows上的命令行 3
1.1.3 Linux上的命令行 3
1.2 安装git 3
1.3 创建GitHub账户 4
1.4 选择一个文本编辑器 4
1.4.1 Atom 4
1.4.2 Visual Studio Code 5
1.4.3 Sublime Text 5
1.5 下载R语言 5
1.6 下载RStudio 5
第2章 使用命令行 7
2.1 访问命令行 7
2.2 浏览文件系统 8
2.2.1 改变目录 9
2.2.2 列出文件 10
2.2.3 路径 10
2.3 管理文件 12
2.3.1 学习新命令 12
2.3.2 通配符 13
2.4 错误处理 14
2.5 重定向输出 15
2.6 网络命令 16
第二部分 项目管理 20
第3章 使用git和GitHub进行版本控制 20
3.1 什么是git 20
3.1.1 git的核心概念 21
3.1.2 什么是GitHub 21
3.2 配置和项目设置 22
3.2.1 生成一个仓库 22
3.2.2 检查状态 23
3.3 跟踪项目变更 24
3.3.1 添加文件 24
3.3.2 提交 25
3.3.3 审核本地git流程 26
3.4 在GitHub中存储项目 26
3.4.1 分支和克隆 27
3.4.2 推送和拉取 28
3.5 访问项目历史 30
3.5.1 提交历史 30
3.5.2 恢复早期版本 30
3.6 忽略项目中的文件 31
第4章 使用Markdown制作文档 34
4.1 编写Markdown 34
4.1.1 文本格式 34
4.1.2 文本块 34
4.1.3 超链接 35
4.1.4 图像 36
4.1.5 表格 36
4.2 渲染Markdown 36
第三部分 R的基本技能 40
第5章 R语言 40
5.1 用R编程 40
5.2 运行R代码 40
5.2.1 使用RStudio 41
5.2.2 从命令行运行R 42
5.3 注释 44
5.4 变量定义 44
5.4.1 基本数据类型 45
5.5 获取帮助 48
5.5.1 如何学习R 49
第6章 函数 52
6.1 什么是函数 52
6.1.1 R函数语法 53
6.2 内置R函数 53
6.2.1 命名参数 54
6.3 加载函数 55
6.4 编写函数 56
6.4.1 调试函数 58
6.5 使用条件语句 59
第7章 向量 61
7.1 什么是向量 61
7.1.1 创建向量 61
7.2 向量化操作 62
7.2.1 循环 63
7.2.2 多数为向量 64
7.2.3 向量化函数 65
7.3 向量索引 66
7.3.1 多索引 67
7.4 向量过滤 68
7.5 向量修改 69
第8章 列表 71
8.1 什么是列表 71
8.2 创建列表 71
8.3 访问列表元素 72
8.4 修改列表 75
8.4.1 单双括号 75
8.5 lapply()函数 76
第四部分 数据清理 80
第9章 理解数据 80
9.1 数据生成过程 80
9.2 查找数据 81
9.3 数据类型 82
9.3.1 测量尺度 82
9.3.2 数据结构 83
9.4 解释数据 84
9.4.1 获取领域知识 84
9.4.2 了解数据模式 86
9.5 用数据回答问题 87
第10章 数据框 89
10.1 什么是数据框 89
10.2 使用数据框 89
10.2.1 创建数据框 90
10.2.2 数据帧的结构 90
10.2.3 访问数据框 91
10.3 使用CSV数据 92
10.3.1 工作目录 93
10.3.2 因子变量 95
第11章 使用dplyr操作数据 98
11.1 操作数据语法 98
11.2 核心dplyr函数 98
11.2.1 选择 99
11.2.2 过滤 101
11.2.3 修改 102
11.2.4 排序 102
11.2.5 汇总 103
11.3 执行顺序操作 104
11.3.1 管道操作 105
11.4 按组分析数据框 106
11.5 连接数据框 108
11.6 dplyr实战:分析飞行数据 111
第12章 使用tidyr重塑数据 116
12.1 什么是“整洁”数据 116
12.2 从列到行:gather() 117
12.3 从行到列:spread() 119
12.4 tidyr实战:探索教育统计 120
第13章 访问数据库 125
13.1 关系数据库概述 125
13.1.1 什么是关系数据库 125
13.1.2 建立关系数据库 127
13.2 体验SQL 128
13.3 从R访问数据库 131
第14章 访问Web API 135
14.1 什么是Web API 135
14.2 RESTful请求 136
14.2.1 URI(统一资源标识符) 136
14.2.2 HTTP动词 140
14.3 从R访问Web API 141
14.4 处理JSON数据 142
14.4.1 解析JSON 144
14.4.2 展平数据 145
14.5 API实战:在西雅图寻找古巴食品 147
第五部分 数据可视化 154
第15章 设计数据可视化 154
15.1 可视化的目的 154
15.2 选择可视化布局 156
15.2.1 可视化单个变量 156
15.2.2 可视化多个变量 159
15.2.3 可视化分层数据 162
15.3 选择有效的图形编码 162
15.3.1 有效颜色 165
15.3.2 利用前注意属性 167
15.4 数据显示的表达力 168
15.5 强化美学 170
第16章 使用ggplot2创建可视化 171
16.1 图形语法 171
16.2 使用ggplot2进行基本绘图 172
16.2.1 指定几何图形 174
16.2.2 美学映射 176
16.3 复杂的布局及定制 176
16.3.1 位置调整 176
16.3.2 标度样式 178
16.3.3 坐标系 180
16.3.4 分面 181
16.3.5 标签和注释 182
16.4 构建地图 184
16.4.1 分级统计(Choropleth)地图 184
16.4.2 点分布地图 186
16.5 ggplot2实战:绘制旧金山驱逐地图 187
第17章 R中的交互式可视化 191
17.1 plotly包 192
17.2 rbokeh包 194
17.3 leaflet包 196
17.4 交互式可视化实战:展示西雅图的变化 198
第六部分 构建和共享应用程序 204
第18章 使用R Markdown创建动态报告 204
18.1 设置报告 204
18.1.1 新建.Rmd文件 204
18.1.2 编织(Knit)文档 206
18.2 集成Markdown与R代码 207
18.2.1 R代码块 207
18.2.2 内联代码 208
18.3 在报告中渲染数据与可视化 208
18.3.1 渲染字符串 208
18.3.2 渲染Markdown列表 209
18.3.3 渲染表格 210
18.3.4 渲染绘图 211
18.4 以网站形式共享报告 212
18.5 R Markdown实战:寿命预测报告 213
第19章 使用Shiny构建交互式Web应用程序 217
19.1 Shiny框架 217
19.1.1 Shiny核心概念 218
19.1.2 程序结构 218
19.2 设计用户界面 221
19.2.1 静态内容 222
19.2.2 动态输入 223
19.2.3 动态输出 224
19.2.4 布局 225
19.3 开发应用程序服务器 227
19.4 发布Shiny应用程序 229
19.5 Shiny实战:可视化警察致命射击 230
第20章 协同工作 237
20.1 使用分支跟踪代码的不同版本 237
20.1.1 不同分支 238
20.1.2 合并分支 241
20.1.3 合并冲突 242
20.1.4 GitHub的合并 243
20.2 使用特性分支开发项目 244
20.3 使用集中工作流协作 246
20.3.1 新建一个集中仓库 246
20.3.2 在集中工作流中使用特性分支 247
20.4 使用分叉工作流协作 249
第21章 继续学习 252
21.1 统计学习 252
21.1.1 评估关系 252
21.1.2 预测 252
21.2 其他编程语言 253
21.3 道德准则 253