內容簡介
重點關注數據清洗方法的自動化,既包括理論知識,也包括使用R語言編寫的套用。使讀者能夠設計數據清洗過程,用於進行一次性分析或者設定生產系統以便定期進行數據清洗。 探索各種統計技術,以便解決諸如不完整、矛盾和離群等方面的問題,更好地進行數據清洗組件的集成和質量監控。 圖書配套網站提供特徵數據和R範例代碼。
目錄
第1章 數據清洗 1
1.1 統計價值鏈 1
1.1.1 原始數據 2
1.1.2 輸入數據 2
1.1.3 有效數據 3
1.1.4 統計數據 3
1.1.5 輸出 3
1.2 《R統計數據清洗及套用》使用的表示法和約定 3
第2章 R語言簡介 5
2.1 命令行中的R語言 5
2.2 向量 7
2.2.1 向量計算 9
2.2.2 數組和矩陣 10
2.3 數據幀 11
2.3.1 公式-數據接口 12
2.3.2 選擇行和列,布爾運算符 13
2.3.3 使用索引進行選擇 13
2.3.4 數據幀操縱:dplyr軟體包 15
2.4 特殊值 16
2.5 在R中導入和導出數據 19
2.5.1 R中的檔案路徑 20
2.5.2 軟體包提供的格式 20
2.5.3 從資料庫讀取數據 21
2.5.4 處理R外部的數據 21
2.6 函式 22
2.6.1 使用函式 22
2.6.2 編寫函式 23
2.7 《R統計數據清洗及套用》中使用的軟體包 24
第3章 數據的技術表示 27
3.1 數值數據 28
3.1.1 整數 28
3.1.2 R中的整數 30
3.1.3 實數 31
3.1.4 雙精度數 31
3.1.5 機器精度的概念 33
3.1.6 處理浮點數的不良結果
3.1.7處理不良結果35
3.1.8R中的數值數據37
3.2文本數據38
3.2.1術語和編碼38
3.2.2Unicode39
3.2.3一些常見的編碼方案40
3.2.4R中的文本數據:character類的對象43
3.2.5R中的編碼方案45
3.2.6使用非本地編碼方案進行數據的讀取和寫入46
3.2.7檢測編碼方案48
3.2.8排序規則和排序49
3.3時間和日期51
3.3.1TAI、UTC以及POSIX從Epcoch開始的秒數51
3.3.2時間和日期表示法52
3.3.3R中的時間和日期存儲54
3.3.4R中的時間和日期轉換55
3.3.5閏日、時區和夏令時57
3.4區域設定注意事項58
第4章數據結構61
4.1簡介61
4.2表格數據61
4.2.1data.frame對象62
4.2.2資料庫62
4.2.3dplyr64
4.3矩陣數據65
4.4時間序列66
4.5圖表數據68
4.6Web數據70
4.6.1網頁爬取70
4.6.2WebAPI70
4.7其他數據73
4.8整理表格數據73
4.8.1每列變數75
4.8.2單個觀測值存儲在多個表中75
第5章清洗文本數據77
5.1字元規範化78
5.1.1編碼轉換和Unicode規範化78
5.1.2字元轉換和音譯80
5.2使用正則表達式進行模式匹配82
5.2.1基本正則表達式82
5.2.2實用的正則表達式85
5.2.3在R中生成正則表達式93
5.3R中的常見字元串處理任務94
5.4近似文本匹配99
5.4.1字元串指標101
5.4.2R中的字元串指標和近似文本匹配110
第6章數據驗證121
6.1簡介121
6.2初識validate軟體包122
6.2.1使用check_that快速檢查122
6.2.2基本工作流程:validator和confront124
6.2.3validate和DSL背景簡介126
6.3定義數據驗證127
6.3.1數據驗證的正式定義128
6.3.2驗證函式的運算130
6.3.3驗證和缺失值132
6.3.4驗證函式的結構133
6.3.5界定validate中的驗證規則134
6.4數據驗證函式的形式類型135
6.4.1深入了解測量135
6.4.2驗證規則的分類137
6.5使用validate軟體包驗證數據139
6.5.1控制台和validator對象中的驗證規則139
6.5.2在管道中驗證141
6.5.3拋出錯誤或警告141
6.5.4測試線性方程式的公差142
6.5.5設定和重置選項143
6.5.6從檔案導入驗證規則/將驗證規則導出到檔案144
6.5.7檢查變數類型和元數據146
6.5.8檢查值範圍和代碼列表147
6.5.9檢查記錄中一致性規則148
6.5.10檢查跨記錄驗證規則150
6.5.11檢查函式依賴151
6.5.12跨數據集驗證152
6.5.13宏、變數組、鍵153
6.5.14分析輸出:validation對象154
6.5.15輸出維度和輸出選擇156
第7章在數據記錄中定位錯誤159
7.1錯誤定位159
7.2使用R進行錯誤定位162
7.3以MIP問題的形式進行錯誤定位164
7.3.1錯誤定位和混合整數規劃165
7.3.2線性限制166
7.3.3分類限制167
7.3.4混合類型限制169
7.4數值穩定性問題171
7.4.1解決MIP問題172
7.4.2縮放數值記錄174
7.4.3設定數值閾值174
7.5實際問題176
7.5.1設定可靠性權重176
7.5.2簡化條件驗證規則177
7.6結論181
第8章規則集的維護和簡化185
8.1驗證規則的質量185
8.1.1完備性185
8.1.2多餘的規則和不可行性186
8.2以邏輯語言表述規則186
8.3規則集問題188
8.3.1不可行規則集188
8.3.2固定值190
8.3.3冗餘規則191
8.3.4非鬆弛子句191
8.3.5非約束子句191
8.4檢測和簡化過程192
8.4.1混合整數規劃193
8.4.2檢測可行性193
8.4.3查找導致不可行的規則193
8.4.4檢測衝突規則194
8.4.5檢測部分不可行性194
8.4.6檢測固定值194
8.4.7檢測非鬆弛子句195
8.4.8檢測非約束子句195
8.4.9檢測冗餘規則195
8.5結論196
第9章基於領域知識模型的方法197
9.1使用數據修改規則進行校正197
9.1.1修改函式198
9.1.2針對數值數據的一類修改函式202
9.2使用dcmodify進行基於規則的校正206
9.2.1從檔案中讀取規則207
9.2.2修改規則語法208
9.2.3缺失值209
9.2.4順序執行和與順序無關的執行209
9.2.5選項設定管理210
9.3演繹校正210
9.3.1校正數值數據中的鍵入錯誤211
9.3.2使用線性限制進行演繹插補214
第10章插補和調整221
10.1缺失數據221
10.1.1缺失數據機制221
10.1.2使用R可視化和測試缺失數據中的模式222
10.2基於模型的插補226
10.3R中基於模型的插補228
10.3.1使用simputation指定插補方法228
10.3.2基於線性回歸的插補229
10.3.3M估計231
10.3.4Lasso回歸、嶺回歸和彈性網路回歸233
10.3.5分類和回歸樹233
10.3.6隨機森林236
10.4使用R進行賦值元素插補237
10.4.1隨機和順序熱卡插補238
10.4.2k最近鄰和預測均值匹配239
10.5simputation軟體包中的其他方法240
10.6基於EM算法的插補241
10.6.1EM算法242
10.6.2假定多變數常態分配情況下的EM插補244
10.7插補下的抽樣方差245
10.8多重插補246
10.8.1基於EM算法的多重插補249
10.8.2Amelia軟體包249
10.8.3基於鏈式方程的多變數插補253
10.8.4使用mice軟體包進行插補254
10.9用於估計插補方差的分析方法257
10.10選擇插補方法257
10.11約束值調整260
10.11.1形式化描述260
10.11.2對插補數據的套用263
10.11.3使用rspa軟體包調整插補值263
第11章示例:一個小型數據清洗系統265
11.1設定266
11.1.1確定性方法267
11.1.2錯誤定位268
11.1.3插補269
11.1.4調整插補數據271
11.2監控數據更改273
11.2.1數據差異(Daff)273
11.2.2匯總單元格更改275
11.2.3按照驗證規則匯總更改276
11.2.4使用lumberjack自動跟蹤數據更改278
11.3集成和自動化282
11.3.1使用RScript282
11.3.2docopt軟體包283
11.3.3自動化數據清洗283