目 录
第Ⅰ部分 数据科学简介
第1章 序言:为什么有数据科学? 2
1.1 数据科学是什么 3
1.2 案例学习:棒球资料统计分析
的演变 5
1.3 数据集 6
1.4 扩展资源 7
第2章 数据可视化 8
2.1 2012年联邦大选周期 8
2.1.1 这两组数据有区别吗? 10
2.1.2 图形变化 11
2.1.3 检查变量之间的关系 12
2.1.4 网络 14
2.2 组成数据图形 15
2.2.1 数据图形分类 15
2.2.2 颜色 17
2.2.3 剖析数据图形 19
2.3 数据图形的重要性:
挑战者号 21
2.4 创建有效的演示 25
2.5 更广阔的数据可视化世界 25
2.6 扩展资源 27
2.7 练习题 28
2.8 附加练习 29
第3章 图形语法 30
3.1 数据图形语法 30
3.1.1 画面 31
3.1.2 刻度 33
3.1.3 指南 35
3.1.4 方面 35
3.1.5 层次 36
3.2 R中的规范数据图形 38
3.2.1 单变量显示 38
3.2.2 多元显示 40
3.2.3 地图 46
3.2.4 网络 46
3.3 扩展示例:历史婴儿名字 47
3.3.1 至今仍活着的人口的
百分比 48
3.3.2 最普通的女性名字 53
3.4 扩展资源 56
3.5 练习题 56
3.6 附加练习 58
第4章 在一张表中整理数据 59
4.1 数据整理语法 59
4.1.1 select()和filter() 59
4.1.2 mutate()和rename() 62
4.1.3 arrange() 64
4.1.4 用group_by()进行
summarize() 66
4.2 扩展示例:Ben在大都会队
(Mets)的时间 67
4.3 扩展资源 75
4.4 练习题 76
4.5 附加练习 79
第5章 多张表的数据整理 80
5.1 inner_join() 80
5.2 left_join() 82
5.3 扩展示例:Manny Ramirez 83
5.4 扩展资源 90
5.5 练习题 90
5.6 附加练习 92
第6章 数据规整 93
6.1 规整数据 93
6.1.1 动机 93
6.1.2 规整的数据是什么 95
6.2 重塑数据 101
6.2.1 用于从宽到窄以及从窄到
宽转换的数据动词 103
6.2.2 pivot_wider()函数 103
6.2.3 pivot_longer()函数 103
6.2.4 list-column 104
6.2.5 示例:中性姓名 108
6.3 命名约定 110
6.4 数据获取 111
6.4.1 数据表友好的格式 111
6.4.2 API 115
6.4.3 清洗数据 115
6.4.4 示例:日本核反应堆 121
6.5 扩展资源 124
6.6 练习题 124
6.7 附加练习 127
第7章 迭代 128
7.1 向量化操作 128
7.2 利用dplyr实现across() 131
7.3 map()函数族 132
7.4 在一维向量上迭代 133
7.4.1 迭代已知函数 133
7.4.2 迭代任意函数 134
7.5 在子组上迭代 135
7.5.1 示例:期望获胜率 136
7.5.2 示例:年度领导者 138
7.6 仿真 140
7.7 扩展示例:与BMI相关的
因子 142
7.8 扩展资源 145
7.9 练习题 145
7.10 附加练习 145
第8章 数据科学伦理学 146
8.1 引言 146
8.2 真实的谎言 146
8.2.1 坚持你的立场 147
8.2.1 全球温度 147
8.2.3 COVID-19报道 148
8.3 数据科学在社会中的作用 149
8.4 职业道德的一些设置 150
8.4.1 CEO 150
8.4.2 就业歧视 150
8.4.3 “Gaydar” 151
8.4.4 种族预测 151
8.4.5 数据爬取 152
8.4.6 可重复的电子表格分析 152
8.4.7 药物危害 152
8.4.8 法律谈判 153
8.5 道德行为的一些指导性原则 153
8.5.1 CEO 154
8.5.2 就业歧视 154
8.5.3 “Gaydar” 154
8.5.4 种族预测 154
8.5.5 数据爬取 155
8.5.6 可重复的电子表格分析 155
8.5.7 药物危害 155
8.5.8 法律谈判 156
8.6 算法偏差 157
8.7 数据与泄露 157
8.7.1 重新识别和泄露避免 157
8.7.2 安全的数据存储 158
8.7.3 数据爬取和使用条款 158
8.8 再现性 159
8.9 集体的道德准则 160
8.10 职业道德行为准则 161
8.11 扩展资源 161
8.12 练习题 162
8.13 附加练习 163
第Ⅱ部分 统计与建模
第9章 统计基础 166
9.1 样本和总体 166
9.2 样本统计 169
9.3 自举 173
9.4 异常值 176
9.5 统计模型:方差解释 178
9.6 混淆和解释其他因素 181
9.7 p值的风险 184
9.8 扩展资源 186
9.9 练习题 187
9.10 附加练习 187
第10章 预测建模 188
10.1 预测建模 189
10.2 简单的分类模型 190
10.3 评价方法 197
10.3.1 权衡偏差与方差 197
10.3.2 交叉验证 197
10.3.3 混淆矩阵和ROC
曲线 198
10.3.4 定量响应的预测误差
测量 200
10.3.5 示例:收益模型评估 201
10.4 扩展示例:谁患有
糖尿病? 204
10.5 扩展资源 207
10.6 练习题 207
10.7 附加练习 208
第11章 监督学习 209
11.1 非回归分类器 209
11.1.1 决策树 210
11.1.2 随机森林 217
11.1.3 最近邻 218
11.1.4 朴素贝叶斯 221
11.1.5 人工神经网络 222
11.1.6 集成方法 224
11.2 参数调整 224
11.3 示例:收入模型redux的
评价 226
11.4 扩展示例:这次谁得了
糖尿病? 230
11.5 正则化 235
11.6 扩展资源 237
11.7 练习题 238
11.8 附加练习 239
第12章 无监督学习 240
12.1 聚类 240
12.1.1 层次聚类 241
12.1.2 k-means 245
12.2 降维 246
12.2.1 直觉法 248
12.2.2 奇异值分解 249
12.3 扩展资源 254
12.4 练习题 254
12.5 附加练习 255
第13章 仿真 256
13.1 逆向推理 256
13.2 扩展示例:癌症分组 257
13.3 随机化函数 259
13.4 仿真可变性 261
13.4.1 部分计划的会合 261
13.4.2 工作报告 262
13.4.3 餐厅健康卫生等级 264
13.5 随机网络 267
13.6 仿真关键原则 267
13.6.1 设计 267
13.6.2 模块化 267
13.6.3 再现性和随机数种子 267
13.7 扩展资源 270
13.8 练习题 270
13.9 附加练习 271
第Ⅲ部分 数据科学专题
第14章 动态定制数据图形 274
14.1 使用D3.js和htmlwidgets
丰富Web内容 274
14.1.1 Leaflet 275
14.1.2 Plot.ly 275
14.1.3 DataTables 276
14.1.4 dygraphs 277
14.1.5 streamgraphs 277
14.2 动画 278
14.3 flexdashboard 279
14.4 基于Shiny的交互式Web
应用程序 281
14.4.1 示例:披头士名字的
交互展示 281
14.4.2 反应式编程的更多
知识 282
14.5 ggplot2图形的定制 285
14.6 扩展示例:吃热狗 289
14.7 扩展资源 294
14.8 练习题 294
14.9 附加练习 295
第15章 使用SQL查询数据库 296
15.1 从dplyr 到SQL 296
15.2 平面文件数据库 300
15.3 SQL 302
15.4 SQL数据操作语言 303
15.4.1 SELECT...FROM 305
15.4.2 WHERE 307
15.4.3 GROUP BY 310
15.4.4 ORDER BY 312
15.4.5 HAVING 313
15.4.6 LIMIT 315
15.4.7 JOIN 316
15.4.8 UNION 321
15.4.9 子查询 321
15.5 扩展示例:FiveThirtyEight
航班 323
15.6 SQL与R 331
15.7 扩展资源 331
15.8 练习题 331
15.9 附加练习 333
第16章 数据库管理 334
16.1 构建高效的SQL数据库 334
16.1.1 创建新的数据库 334
16.1.2 创建表 335
16.1.3 键 336
16.1.4 索引 337
16.1.5 查询计划 338
16.1.6 分区 340
16.2 更改SQL数据 340
16.2.1 更改数据 341
16.2.2 增加数据 341
16.2.3 从文件导入数据 342
16.3 扩展示例:创建数据库 342
16.3.1 抽取 342
16.3.2 转换 342
16.3.3 载入MySQL数据库 343
16.4 可扩展性 346
16.5 扩展资源 346
16.6 练习题 346
16.7 附加练习 347
第17章 使用地理空间数据 348
17.1 动机:地理空间数据有什么了不起的? 348
17.2 空间数据结构 351
17.3 制作地图 353
17.3.1 静态地图 353
17.3.2 投影 354
17.3.3 基于leaflet的动态地图 360
17.4 扩展示例:国会选区 362
17.4.1 选举结果 362
17.4.2 国会选区 365
17.4.3 整合所有数据 367
17.4.4 使用ggplot2 368
17.4.5 使用leaflet 369
17.5 有效的地图:如何避免撒谎 370
17.6 投影多边形 371
17.7 有效利用其他技术 373
17.8 扩展资源 374
17.9 练习题 374
17.10 附加练习 374
第18章 地理空间计算 375
18.1 地理空间操作 375
18.1.1 地理编码、路线和距离 375
18.1.2 几何运算 378
18.2 地理空间聚合 384
18.3 地理空间联接 386
18.4 拓展示例:MacLeish中的路径海拔 387
18.5 扩展资源 391
18.6 练习题 391
18.7 附加练习 392
第19章 文本数据 393
19.1 使用Macbeth的正则表达式 393
19.1.1 解析苏格兰戏剧文本 393
19.1.2 Macbeth中的生与死 397
19.2 扩展示例:分析arXiv.org的文本数据 399
19.2.1 语料库 402
19.2.2 词云 404
19.2.3 情感分析 405
19.2.4 bigrams和N-grams 407
19.2.5 文档词项矩阵 408
19.3 获取文本 412
19.4 扩展资源 415
19.5 练习题 416
19.6 附加练习 418
第20章 网络科学 419
20.1 网络科学引言 419
20.1.1 定义 419
20.1.2 网络科学简史 420
20.2 扩展示例:Kristen Stewart的六度空间理论 424
20.2.1 收集好莱坞数据 424
20.2.2 构建好莱坞网络 427
20.2.3 建立Kristen Stewart预言 430
20.3 PageRank 433
20.4 扩展示例:1996年男子大学篮球赛 435
20.5 扩展资源 442
20.6 练习题 442
20.7 附加练习 443
第21章 结束语:走向“大数据” 444
21.1 大数据的一些概念 444
21.2 更大数据的工具 446
21.2.1 大数据的数据和内存结构 446
21.2.2 编译 447
21.2.3 并行和分布式计算 447
21.2.4 SQL的替代方案 454
21.3 R的替代方案 455
21.4 结束语 456
21.5 扩展资源 456
第Ⅳ部分 附录
附录A 本书使用的包 458
附录B R和RStudio简介 465
附录C 算法思维 483
附录D 可再现性分析和工作流程 495
附录E 回归建模 504
附录F 安装数据库服务器 524