內容簡介
本書通過循序漸進的內容設計、深入淺出的技巧講解,幫助讀者輕鬆上手R語言,掌握統計分析及數據可視化的思路、方法與技巧。本書還會帶領讀者挑戰真實世界中的數據難題,包括數據預測、數據挖掘以及動態數據報告的撰寫等。值得一提的是,本書對 ggplot2 繪圖功能進行了頗具深度的解讀。另外,針對聚類、分類和時間序列分析等機器學習主題,本書增加了更多翔實的案例。
.數據清洗、數據管理及數據分析
.使用ggplot2繪圖實現數據可視化
.調試程式及創建包
.R語言及tidyverse系列包的完整的學習資源
作者簡介
[美]Robert I. Kabacoff
數據科學家、統計編程專家、R語言社區專家及Quick-R網站運營者。擁有30多
年的教學、科研和實踐經驗,曾在全球多家公司和科研機構任數據科學家。目前任教於美國文理學院維思大學(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 工作區 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 將輸出用作輸入:結果的復用 16
1.6 處理大型數據集 16
1.7 示例實踐 17
1.8 小結 18
第 2章 創建數據集 19
2.1 理解數據集 19
2.2 數據結構 20
2.2.1 向量 21
2.2.2 矩陣 22
2.2.3 數組 23
2.2.4 數據框 24
2.2.5 因子 26
2.2.6 列表 28
2.2.7 tibble 數據框 30
2.3 數據的輸入 31
2.3.1 使用鍵盤輸入數據 32
2.3.2 從帶分隔設定的文本檔案導入數據 33
2.3.3 導入 Excel 數據 37
2.3.4 導入 JSON 數據 37
2.3.5 從網頁抓取數據 37
2.3.6 導入SPSS數據 38
2.3.7 導入SAS數據 38
2.3.8 導入Stata數據 39
2.3.9 訪問資料庫管理系統 39
2.3.10 通過 Stat Transfer導入數據 40
2.4 數據集的標註 41
2.4.1 變數標籤 41
2.4.2 值標籤 41
2.5 處理數據對象的實用函式 41
2.6 小結 42
第3章 基本數據管理 43
3.1 一個示例 43
3.2 創建新變數 45
3.3 變數的重編碼 46
3.4 變數的重命名 47
3.5 缺失值 48
3.5.1 重編碼某些值為缺失值 49
3.5.2 在分析中排除缺失值 49
3.6 日期值 50
3.6.1 將日期變數轉換為字元型變數 52
3.6.2 更進一步 52
3.7 類型轉換 52
3.8 數據排序 53
3.9 數據集的合併 54
3.9.1 在數據框中添加列 54
3.9.2 在數據框中添加行 54
3.10 切分數據集 54
3.10.1 選取變數 55
3.10.2 剔除變數 55
3.10.3 選入觀測值 56
3.10.4 subset()函式 57
3.10.5 隨機抽樣 57
3.11 使用dplyr包運算元據框 58
3.11.1 基本的 dplyr 函式 58
3.11.2 使用管道操作符對語句進行串接 61
3.12 使用SOL語句運算元據框 61
3.13 小結 62
第4章 圖形初階 63
4.1 使用gplot2包創建圖形 64
4.1.1 函式 ggplot() 64
4.1.2 geom_函式 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 放置數據和映射選項 76
4.2.2 將圖形作為對象使用 77
4.2.3 保存圖形 78
4.2.4 常見錯誤 79
4.3 小結 80
第5章 高級數據管理 81
5.1 一個數據處理難題 81
5.2 數值處理函式和字元處理函式 82
5.2.1 數學函式 82
5.2.2 統計函式 83
5.2.3 機率函式 86
5.2.4 字元處理函式 89
5.2.5 其他實用函式 90
5.2.6 將函式套用於矩陣和數據框 91
5.2.7 數據處理難題的一套解決方案 92
5.3 控制流 96
5.3.1 重複和循環 97
5.3.2 條件執行 98
5.4 用戶自定義函式 99
5.5 數據重塑 101
5.5.1 轉置 101
5.5.2 將寬表數據集格式轉換為長表數據集格式 101
5.6 數據匯總 103
5.7 小結 105
第二部分 基本方法
第6章 基本圖形108
6.1 條形圖108
6.1.1 簡單的條形圖 109
6.1.2 堆積、分組和填充條形圖 110
6.1.3 均值條形圖 111
6.1.4 條形圖的微調 114
6.1.1 簡單的條形圖109
6.1.2 堆積、分組和填充條形圖110
6.1.3 均值條形圖 111
6.1.4 條形圖的微調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 小結136
第7章 基本統計分析 137
7.1 描述性統計分析 138
7.1.1 方法雲集 138
7.1.2 更多方法 139
7.1.3 分組計算描述性統計量 141
7.1.4 使用dplyr進行互動式匯總數據 143
7.1.5 結果的可視化 145
7.2 頻數表和列聯表 145
7.2.1 生成頻數表 145
7.2.2 獨立性檢驗 151
7.2.3 相關性度量 153
7.2.4 結果的可視化 153
7.3 相關分析 153
7.3.1 相關的類型154
7.3.2 相關性的顯著性檢驗156
7.3.3 相關關係的可視化158
7.4 t檢驗 158
7.4.1 獨立樣本的t檢驗 158
7.4.2 非獨立樣本的t檢驗 159
7.4.3 多於兩組的情況 160
7.5 組間差異的非參數檢驗 160
7.5.1 兩組的比較 160
7.5.2 多於兩組的比較 161
7.6 組間差異的可視化 163
7.7 小結 163
第三部分 中級方法
第8章 回歸 166
8.1 回歸的多面性 167
8.1.1 OLS 回歸的適用場景 167
8.1.2 基礎回顧 168
8.2 OLS 回歸168
8.2.1 用函式 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小結 201
第9章 方差分析 202
9.1 術語速成 202
9.2 ANOVA模型擬合 204
9.2.1 aov()函式 205
9.2.2 表達式中各項的順序 205
9.3 單因素方差分析 206
9.3.1 多重比較 208
9.3.2 評估檢驗的假設條件 212
9.4 單因素協方差分析 213
9.4.1 評估檢驗的假設條件 215
9.4.2 結果的可視化 215
9.5 雙因素方差分析 216
9.6 重複測量方差分析 219
9.7 多元方差分析 222
9.7.1 評估檢驗的假設條件 223
9.7.2 穩健多元方差分析 224
9.8 用回歸來做方差分析 225
9.9 小結 227
第 10章 功效分析228
10.1 假設檢驗速覽 228
10.2 用pwr包做功效分析 230
10.2.1 t 檢驗 231
10.2.2 方差分析 233
10.2.3 相關性 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 小結 241
第 11章 中級繪圖 242
11.1 散點圖 243
11.1.1 散點圖矩陣 245
11.1.2 高密度散點圖 248
11.1.3 三維散點圖 251
11.1.4 旋轉三維散點圖 254
11.1.5 氣泡圖 255
11.2 折線圖 257
11.3 相關圖 260
11.4 馬賽克圖 264
11.5 小結 267
第 12章 重抽樣與自助法 268
12.1 置換檢驗 268
12.2 用 coin 包做置換檢驗 270
12.2.1 獨立雙樣本和 K 樣本檢驗 271
12.2.2 列聯表中的獨立性 272
12.2.3 數值變數間的獨立性 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 單因素方差分析和協方差分析 276
12.3.4 雙因素方差分析 277
12.4 置換檢驗點評 278
12.5 自助法 278
12.6 boot 包中的自助法 279
12.6.1 對單個統計量使用自助法 . 280
12.6.2 多個統計量的自助法 282
12.7 小結 284
第四部分 高級方法
第 13章 廣義線性模型 287
13.1 廣義線性模型和 glm()函式 288
13.1.1 glm()函式 288
13.1.2 連用的函式 289
13.1.3 模型擬合和回歸診斷 290
13.2 Logistic 回歸 291
13.2.1 解釋模型參數 293
13.2.2 評價自變數對結果機率的影響 294
13.2.3 過度離勢 295
13.2.4 擴展 296
13.3 泊松回歸 296
13.3.1 解釋模型參數 298
13.3.2 過度離勢 299
13.3.3 擴展 300
13.4 小結 302
第 14章 主成分分析和因子分析 303
14.1 R 中的主成分分析和因子分析 304
14.2 主成分分析 305
14.2.1 判斷需提取的主成分數 306
14.2.2 提取主成分 307
14.2.3 主成分旋轉 310
14.2.4 獲取主成分得分 311
14.3 探索性因子分析 313
14.3.1 判斷需提取的公共因子數 314
14.3.2 提取公共因子 315
14.3.3 因子旋轉 315
14.3.4 因子得分 319
14.3.5 其他與探索性因子分析
相關的包 319
14.4 其他潛變數模型 319
14.5 小結 320
第 15章 時間序列 322
15.1 在 R 中生成時序對象 324
15.2 時序的平滑化和季節項分解 326
15.2.1 通過簡單移動平均進行平滑處理 327
15.2.2 季節項分解 328
15.3 指數預測模型 334
15.3.1 單指數平滑 334
15.3.2 Holt 指數平滑和 Holt Winters 指數平滑 337
15.3.3 ets()函式和自動預測 339
15.4 ARIMA 預測模型 341
15.4.1 概念介紹 341
15.4.2 ARMA 和 ARIMA 模型 342
15.4.3 ARIMA 模型的自動預測 347
15.5 小結 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 小結 369
第 17章 分類 370
17.1 數據準備 371
17.2 Logistic 回歸 372
17.3 決策樹 374
17.3.1 經典決策樹 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 小結 391
第 18章 處理缺失數據的高級方法 393
18.1 處理缺失值的步驟 394
18.2 識別缺失值 395
18.3 探索缺失值模式 396
18.3.1 缺失值的可視化 396
18.3.2 用相關性探索缺失值 400
18.4 理解缺失數據的來由和影響 401
18.5 合理推斷不完整數據. 402
18.6 刪除缺失數據 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 處理缺失數據的其他方法 410
18.10 小結 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 自定義繪圖區 430
19.3 添加標註 432
19.3.1 給數據點添加標籤 432
19.3.2 給條形添加標籤 434
19.4 圖形的組合 437
19.5 繪製互動式圖形 439
19.6 小結 442
第 20章 高級編程 443
20.1 R 語言回顧 443
20.1.1 數據類型 444
20.1.2 控制結構 450
20.1.3 創建函式 452
20.2 使用環境 454
20.3 非標準計算 456
20.4 面向對象編程 458
20.4.1 泛型函式 458
20.4.2 S3 模型的局限性 460
20.5 編寫高效的代碼 460
20.5.1 高效的數據輸入 460
20.5.2 向量化 461
20.5.3 準確調整對象的大小 462
20.5.4 並行化 462
20.6 調試 464
20.6.1 常見的錯誤來源 464
20.6.2 調試工具 465
20.6.3 支持調試的會話選項 468
20.6.4 使用 RStudio 的可視化調試器 471
20.7 小結 473
第 21章 創建動態報告 474
21.1 用模板生成報告 476
21.2 用R和R Markdown創建報告 478
21.3 用R和LaTeX創建報告 483
21.4 避免常見的R Markdown 錯誤 488
21.5 深入探討 489
21.6 小結 489
第 22 章 創建包 490
22.1 edatools包 491
22.2 創建包 492
22.2.1 安裝開發工具 493
22.2.2 創建包項目 493
22.2.3 添加函式 494
22.2.4 添加函式文檔 499
22.2.5 添加一般幫助檔案(可選) 501
22.2.6 添加樣本數據到包(可選) 502
22.2.7 添加簡介文檔(可選) 503
22.2.8 編輯 DESCRIPTION 檔案 503
22.2.9 生成並安裝包 505
22.3 分發包 508
22.3.1 分發包的源檔案 508
22.3.2 提交到 CRAN 509
22.3.3 託管到 GitHub 509
22.3.4 創建包網站 511
22.4 深入探討 512
22.5 小結 513
附錄A 圖形用戶界面 514
附錄B 自定義啟動環境 516
附錄C 從 R 中導出數據 519
附錄D R中的矩陣運算 521
附錄E 本書中用到的包 523
附錄F 處理大型數據集 527
附錄G 更新 R 531
後記:探索R的世界 533