本書通過循序漸進的內(nèi)容設(shè)計、深入淺出的技巧講解,幫助讀者輕松上手R語言,掌握統(tǒng)計分析及數(shù)據(jù)可視化的思路、方法與技巧。本書還會帶領(lǐng)讀者挑戰(zhàn)真實世界中的數(shù)據(jù)難題,包括數(shù)據(jù)預測、數(shù)據(jù)挖掘以及動態(tài)數(shù)據(jù)報告的撰寫等。值得一提的是,本書對 ggplot2 繪圖功能進行了頗具深度的解讀。另外,針對聚類、分類和時間序列分析等機器學習主題,本書增加了更多翔實的案例。
·數(shù)據(jù)清洗、數(shù)據(jù)管理及數(shù)據(jù)分析
·使用ggplot2繪圖實現(xiàn)數(shù)據(jù)可視化
·調(diào)試程序及創(chuàng)建包
·R語言及tidyverse系列包的完整的學習資源
1.深入講解全球數(shù)據(jù)科學家、量化分析師以及數(shù)據(jù)從業(yè)者的"標配"——R語言,讓你在面對工作與研究時如虎添翼、游刃有余。
2.30 萬中文版讀者的認可與好評,數(shù)據(jù)分析教程重磅升級,全面擴充 ggplot2、tidyverse、 RStudio、R Markdown 用法。
3.內(nèi)容循序漸進,講解深入淺出,豐富生動的真實案例,讓你有效掌握 R 數(shù)據(jù)挖掘與數(shù)據(jù)可視化。
4.提供完整實用的學習資源,易學易用,致力于幫助讀者輕松上手R語言,學會統(tǒng)計分析及數(shù)據(jù)可視化的方法與技巧。
[美]Robert I. Kabacoff
數(shù)據(jù)科學家、統(tǒng)計編程專家、R語言社區(qū)專家及Quick-R網(wǎng)站運營者。擁有30多
年的教學、科研和實踐經(jīng)驗,曾在全球多家公司和科研機構(gòu)任數(shù)據(jù)科學家。目前任教于美國文理學院維思大學(Wesleyan University)。
第 一部分 入門
第 1章 R介紹 3
1.1 為何要使用R 4
1.2 R的獲取和安裝 6
1.3 R的使用 6
1.3.1 新手上路 7
1.3.2 使用 RStudio 9
1.3.3 獲取幫助 11
1.3.4 工作區(qū) 12
1.3.5 項目 13
1.4 包 14
1.4.1 什么是包 14
1.4.2 安裝包 14
1.4.3 包的載入 15
1.4.4 包的使用方法 15
1.5 將輸出用作輸入:結(jié)果的復用 16
1.6 處理大型數(shù)據(jù)集 16
1.7 示例實踐 17
1.8 小結(jié) 18
第 2章 創(chuàng)建數(shù)據(jù)集 19
2.1 理解數(shù)據(jù)集 19
2.2 數(shù)據(jù)結(jié)構(gòu) 20
2.2.1 向量 21
2.2.2 矩陣 22
2.2.3 數(shù)組 23
2.2.4 數(shù)據(jù)框 24
2.2.5 因子 26
2.2.6 列表 28
2.2.7 tibble 數(shù)據(jù)框 30
2.3 數(shù)據(jù)的輸入 31
2.3.1 使用鍵盤輸入數(shù)據(jù) 32
2.3.2 從帶分隔符的文本文件導入數(shù)據(jù) 33
2.3.3 導入 Excel 數(shù)據(jù) 37
2.3.4 導入 JSON 數(shù)據(jù) 37
2.3.5 從網(wǎng)頁抓取數(shù)據(jù) 37
2.3.6 導入SPSS數(shù)據(jù) 38
2.3.7 導入SAS數(shù)據(jù) 38
2.3.8 導入Stata數(shù)據(jù) 39
2.3.9 訪問數(shù)據(jù)庫管理系統(tǒng) 39
2.3.10 通過 Stat/Transfer導入數(shù)據(jù) 40
2.4 數(shù)據(jù)集的標注 41
2.4.1 變量標簽 41
2.4.2 值標簽 41
2.5 處理數(shù)據(jù)對象的實用函數(shù) 41
2.6 小結(jié) 42
第3章 基本數(shù)據(jù)管理 43
3.1 一個示例 43
3.2 創(chuàng)建新變量 45
3.3 變量的重編碼 46
3.4 變量的重命名 47
3.5 缺失值 48
3.5.1 重編碼某些值為缺失值 49
3.5.2 在分析中排除缺失值 49
3.6 日期值 50
3.6.1 將日期變量轉(zhuǎn)換為字符型變量 52
3.6.2 更進一步 52
3.7 類型轉(zhuǎn)換 52
3.8 數(shù)據(jù)排序 53
3.9 數(shù)據(jù)集的合并 54
3.9.1 在數(shù)據(jù)框中添加列 54
3.9.2 在數(shù)據(jù)框中添加行 54
3.10 切分數(shù)據(jù)集 54
3.10.1 選取變量 55
3.10.2 剔除變量 55
3.10.3 選入觀測值 56
3.10.4 subset()函數(shù) 57
3.10.5 隨機抽樣 57
3.11 使用dplyr包操作數(shù)據(jù)框 58
3.11.1 基本的 dplyr 函數(shù) 58
3.11.2 使用管道操作符對語句進行串接 61
3.12 使用SOL語句操作數(shù)據(jù)框 61
3.13 小結(jié) 62
第4章 圖形初階 63
4.1 使用gplot2包創(chuàng)建圖形 64
4.1.1 函數(shù) ggplot() 64
4.1.2 geom_函數(shù) 65
4.1.3 分組 68
4.1.4 標尺 69
4.1.5 刻面 72
4.1.6 標簽 73
4.1.7 主題 74
4.2 ggplot2包的詳細信息 75
4.2.1 放置數(shù)據(jù)和映射選項 76
4.2.2 將圖形作為對象使用 77
4.2.3 保存圖形 78
4.2.4 常見錯誤 79
4.3 小結(jié) 80
第5章 高級數(shù)據(jù)管理 81
5.1 一個數(shù)據(jù)處理難題 81
5.2 數(shù)值處理函數(shù)和字符處理函數(shù) 82
5.2.1 數(shù)學函數(shù) 82
5.2.2 統(tǒng)計函數(shù) 83
5.2.3 概率函數(shù) 86
5.2.4 字符處理函數(shù) 89
5.2.5 其他實用函數(shù) 90
5.2.6 將函數(shù)應用于矩陣和數(shù)據(jù)框 91
5.2.7 數(shù)據(jù)處理難題的一套解決方案 92
5.3 控制流 96
5.3.1 重復和循環(huán) 97
5.3.2 條件執(zhí)行 98
5.4 用戶自定義函數(shù) 99
5.5 數(shù)據(jù)重塑 101
5.5.1 轉(zhuǎn)置 101
5.5.2 將寬表數(shù)據(jù)集格式轉(zhuǎn)換為長表數(shù)據(jù)集格式 101
5.6 數(shù)據(jù)匯總 103
5.7 小結(jié) 105
第二部分 基本方法
第6章 基本圖形108
6.1 條形圖108
6.1.1 簡單的條形圖 109
6.1.2 堆積、分組和填充條形圖 110
6.1.3 均值條形圖 111
6.1.4 條形圖的微調(diào) 114
6.1.1 簡單的條形圖109
6.1.2 堆積、分組和填充條形圖110
6.1.3 均值條形圖 111
6.1.4 條形圖的微調(diào)114
6.2 餅圖 119
6.3 樹形圖 121
6.4 直方圖124
6.5 核密度圖126
6.6 箱線圖129
6.6.1 使用并列箱線圖進行跨組比較 130
6.6.2 小提琴圖 133
6.7 點圖134
6.8 小結(jié)136
第7章 基本統(tǒng)計分析 137
7.1 描述性統(tǒng)計分析 138
7.1.1 方法云集 138
7.1.2 更多方法 139
7.1.3 分組計算描述性統(tǒng)計量 141
7.1.4 使用dplyr進行交互式匯總數(shù)據(jù) 143
7.1.5 結(jié)果的可視化 145
7.2 頻數(shù)表和列聯(lián)表 145
7.2.1 生成頻數(shù)表 145
7.2.2 獨立性檢驗 151
7.2.3 相關(guān)性度量 153
7.2.4 結(jié)果的可視化 153
7.3 相關(guān)分析 153
7.3.1 相關(guān)的類型154
7.3.2 相關(guān)性的顯著性檢驗156
7.3.3 相關(guān)關(guān)系的可視化158
7.4 t檢驗 158
7.4.1 獨立樣本的t檢驗 158
7.4.2 非獨立樣本的t檢驗 159
7.4.3 多于兩組的情況 160
7.5 組間差異的非參數(shù)檢驗 160
7.5.1 兩組的比較 160
7.5.2 多于兩組的比較 161
7.6 組間差異的可視化 163
7.7 小結(jié) 163
第三部分 中級方法
第8章 回歸 166
8.1 回歸的多面性 167
8.1.1 OLS 回歸的適用場景 167
8.1.2 基礎(chǔ)回顧 168
8.2 OLS 回歸168
8.2.1 用函數(shù) lm()擬合回歸模型 169
8.2.2 簡單線性回歸 170
8.2.3 多項式回歸 172
8.2.4 多元線性回歸 175
8.2.5 帶交互項的多元線性回歸 177
8.3 回歸模型的診斷179
8.3.1 標準方法 179
8.3.2 改進的方法 181
8.3.3 多重共線性 185
8.3.1 標準方法179
8.3.2 改進的方法181
8.3.3 多重共線性185
8.4 異常觀測值186
8.4.1 離群點186
8.4.2 高杠桿值點187
8.4.3 強影響點188
8.5 改進措施 190
8.5.1 刪除觀測點 191
8.5.2 變量變換 191
8.5.3 增刪變量 193
8.5.4 嘗試其他方法 193
8.6 選擇“”的回歸模型 193
8.6.1 模型比較 193
8.6.2 變量選擇 194
8.7 深層次分析 197
8.7.1 交叉驗證 197
8.7.2 相對重要性 199
8.8小結(jié) 201
第9章 方差分析 202
9.1 術(shù)語速成 202
9.2 ANOVA模型擬合 204
9.2.1 aov()函數(shù) 205
9.2.2 表達式中各項的順序 205
9.3 單因素方差分析 206
9.3.1 多重比較 208
9.3.2 評估檢驗的假設(shè)條件 212
9.4 單因素協(xié)方差分析 213
9.4.1 評估檢驗的假設(shè)條件 215
9.4.2 結(jié)果的可視化 215
9.5 雙因素方差分析 216
9.6 重復測量方差分析 219
9.7 多元方差分析 222
9.7.1 評估檢驗的假設(shè)條件 223
9.7.2 穩(wěn)健多元方差分析 224
9.8 用回歸來做方差分析 225
9.9 小結(jié) 227
第 10章 功效分析228
10.1 假設(shè)檢驗速覽 228
10.2 用pwr包做功效分析 230
10.2.1 t 檢驗 231
10.2.2 方差分析 233
10.2.3 相關(guān)性 233
10.2.4 線性模型 234
10.2.5 比例檢驗 235
10.2.6 卡方檢驗 235
10.2.7 在新情況中選擇合適的效應值 237
10.3 繪制功效分析圖 239
10.4 其他功效分析包 240
10.5 小結(jié) 241
第 11章 中級繪圖 242
11.1 散點圖 243
11.1.1 散點圖矩陣 245
11.1.2 高密度散點圖 248
11.1.3 三維散點圖 251
11.1.4 旋轉(zhuǎn)三維散點圖 254
11.1.5 氣泡圖 255
11.2 折線圖 257
11.3 相關(guān)圖 260
11.4 馬賽克圖 264
11.5 小結(jié) 267
第 12章 重抽樣與自助法 268
12.1 置換檢驗 268
12.2 用 coin 包做置換檢驗 270
12.2.1 獨立雙樣本和 K 樣本檢驗 271
12.2.2 列聯(lián)表中的獨立性 272
12.2.3 數(shù)值變量間的獨立性 273
12.2.4 雙樣本和 K 樣本檢驗 273
12.2.5 深入探究 274
12.3 用 lmPerm 包做置換檢驗 274
12.3.1 簡單回歸和多項式回歸 274
12.3.2 多元回歸 276
12.3.3 單因素方差分析和協(xié)方差分析 276
12.3.4 雙因素方差分析 277
12.4 置換檢驗點評 278
12.5 自助法 278
12.6 boot 包中的自助法 279
12.6.1 對單個統(tǒng)計量使用自助法 . 280
12.6.2 多個統(tǒng)計量的自助法 282
12.7 小結(jié) 284
第四部分 高級方法
第 13章 廣義線性模型 287
13.1 廣義線性模型和 glm()函數(shù) 288
13.1.1 glm()函數(shù) 288
13.1.2 連用的函數(shù) 289
13.1.3 模型擬合和回歸診斷 290
13.2 Logistic 回歸 291
13.2.1 解釋模型參數(shù) 293
13.2.2 評價自變量對結(jié)果概率的影響 294
13.2.3 過度離勢 295
13.2.4 擴展 296
13.3 泊松回歸 296
13.3.1 解釋模型參數(shù) 298
13.3.2 過度離勢 299
13.3.3 擴展 300
13.4 小結(jié) 302
第 14章 主成分分析和因子分析 303
14.1 R 中的主成分分析和因子分析 304
14.2 主成分分析 305
14.2.1 判斷需提取的主成分數(shù) 306
14.2.2 提取主成分 307
14.2.3 主成分旋轉(zhuǎn) 310
14.2.4 獲取主成分得分 311
14.3 探索性因子分析 313
14.3.1 判斷需提取的公共因子數(shù) 314
14.3.2 提取公共因子 315
14.3.3 因子旋轉(zhuǎn) 315
14.3.4 因子得分 319
14.3.5 其他與探索性因子分析
相關(guān)的包 319
14.4 其他潛變量模型 319
14.5 小結(jié) 320
第 15章 時間序列 322
15.1 在 R 中生成時序?qū)ο? 324
15.2 時序的平滑化和季節(jié)項分解 326
15.2.1 通過簡單移動平均進行平滑處理 327
15.2.2 季節(jié)項分解 328
15.3 指數(shù)預測模型 334
15.3.1 單指數(shù)平滑 334
15.3.2 Holt 指數(shù)平滑和 Holt Winters 指數(shù)平滑 337
15.3.3 ets()函數(shù)和自動預測 339
15.4 ARIMA 預測模型 341
15.4.1 概念介紹 341
15.4.2 ARMA 和 ARIMA 模型 342
15.4.3 ARIMA 模型的自動預測 347
15.5 小結(jié) 348
第 16章 聚類分析 349
16.1 聚類分析的一般步驟 350
16.2 計算距離 351
16.3 層次聚類分析 353
16.4 劃分聚類分析 357
16.4.1 K 均值聚類 357
16.4.2 圍繞中心點的劃分 364
16.5 避免不存在的聚類簇 365
16.6 小結(jié) 369
第 17章 分類 370
17.1 數(shù)據(jù)準備 371
17.2 Logistic 回歸 372
17.3 決策樹 374
17.3.1 經(jīng)典決策樹 374
17.3.2 條件推斷樹 377
17.4 隨機森林 378
17.5 支持向量機 381
17.6 選擇預測效果好的模型 384
17.7 理解黑箱預測 387
17.7.1 繪制細分圖 388
17.7.2 繪制 Shapley 值圖 390
17.8 深入探究 391
17.9 小結(jié) 391
第 18章 處理缺失數(shù)據(jù)的高級方法 393
18.1 處理缺失值的步驟 394
18.2 識別缺失值 395
18.3 探索缺失值模式 396
18.3.1 缺失值的可視化 396
18.3.2 用相關(guān)性探索缺失值 400
18.4 理解缺失數(shù)據(jù)的來由和影響 401
18.5 合理推斷不完整數(shù)據(jù). 402
18.6 刪除缺失數(shù)據(jù) 403
18.6.1 完整觀測值分析(行刪除) 403
18.6.2 可獲取的觀測值分析(成對刪除) 404
18.7 單一插補 405
18.7.1 簡單插補 405
18.7.2 k近鄰插補 405
18.7.3 missForest 插補 407
18.8 多重插補 408
18.9 處理缺失數(shù)據(jù)的其他方法 410
18.10 小結(jié) 411
第五部分 技能擴展
第 19章 高級繪圖 414
19.1 修改標尺 415
19.1.1 自定義坐標軸 415
19.1.2 自定義顏色 420
19.2 修改主題 424
19.2.1 預置主題 424
19.2.2 自定義字體 426
19.2.3 自定義圖例 428
19.2.4 自定義繪圖區(qū) 430
19.3 添加標注 432
19.3.1 給數(shù)據(jù)點添加標簽 432
19.3.2 給條形添加標簽 434
19.4 圖形的組合 437
19.5 繪制交互式圖形 439
19.6 小結(jié) 442
第 20章 高級編程 443
20.1 R 語言回顧 443
20.1.1 數(shù)據(jù)類型 444
20.1.2 控制結(jié)構(gòu) 450
20.1.3 創(chuàng)建函數(shù) 452
20.2 使用環(huán)境 454
20.3 非標準計算 456
20.4 面向?qū)ο缶幊? 458
20.4.1 泛型函數(shù) 458
20.4.2 S3 模型的局限性 460
20.5 編寫高效的代碼 460
20.5.1 高效的數(shù)據(jù)輸入 460
20.5.2 向量化 461
20.5.3 準確調(diào)整對象的大小 462
20.5.4 并行化 462
20.6 調(diào)試 464
20.6.1 常見的錯誤來源 464
20.6.2 調(diào)試工具 465
20.6.3 支持調(diào)試的會話選項 468
20.6.4 使用 RStudio 的可視化調(diào)試器 471
20.7 小結(jié) 473
第 21章 創(chuàng)建動態(tài)報告 474
21.1 用模板生成報告 476
21.2 用R和R Markdown創(chuàng)建報告 478
21.3 用R和LaTeX創(chuàng)建報告 483
21.4 避免常見的R Markdown 錯誤 488
21.5 深入探討 489
21.6 小結(jié) 489
第 22 章 創(chuàng)建包 490
22.1 edatools包 491
22.2 創(chuàng)建包 492
22.2.1 安裝開發(fā)工具 493
22.2.2 創(chuàng)建包項目 493
22.2.3 添加函數(shù) 494
22.2.4 添加函數(shù)文檔 499
22.2.5 添加一般幫助文件(可選) 501
22.2.6 添加樣本數(shù)據(jù)到包(可選) 502
22.2.7 添加簡介文檔(可選) 503
22.2.8 編輯 DESCRIPTION 文件 503
22.2.9 生成并安裝包 505
22.3 分發(fā)包 508
22.3.1 分發(fā)包的源文件 508
22.3.2 提交到 CRAN 509
22.3.3 托管到 GitHub 509
22.3.4 創(chuàng)建包網(wǎng)站 511
22.4 深入探討 512
22.5 小結(jié) 513
附錄A 圖形用戶界面 514
附錄B 自定義啟動環(huán)境 516
附錄C 從 R 中導出數(shù)據(jù) 519
附錄D R中的矩陣運算 521
附錄E 本書中用到的包 523
附錄F 處理大型數(shù)據(jù)集 527
附錄G 更新 R 531
后記:探索R的世界 533