內容大鋼
R語言在近10年來已經發生了日新月異的變化,不僅在內容上更加豐富多彩,而且在計算效率上也有了大幅的提升。它被更加廣泛地用於數據可視化、統計建模、機器學習等領域,而且還能實現網路爬蟲、網路應用開發等功能,成為數據科學領域的全能型工具。R語言在學術界的地位已經不容置疑,在大數據時代中它是保證研究可重複性的重要工具。隨著功能的日益完善,R語言已經進軍工業界,並在金融、保險、醫療、生物和信息計量等不同的應用場景中大放異彩,潛力不可估量。
儘管R語言能夠實現豐富多樣的實際功能和框架,但是其本質是面向數據的,因此數據處理是R語言核心中的核心。如果能夠掌握高效的數據操作技術,就能夠在各類數據分析任務中如魚得水。本書定位即為「R語言數據處理101」,希望R語言的使用者能夠在較早的階段就習得最基本而有效的數據處理基本技術。
本書讀者群體包括在校的大學生、數據分析從業人員和致力於更加高效地處理數據的所有的R語言使用者。儘管對數據科學、電腦編程、統計學有一定基礎會幫助理解本書的內容,但這不是必需的,來自包括初學者在內的各個層次的讀者群體都能從本書中有所收穫。讀者在本書中不僅能夠學到數據處理中的實用技術,還能培養在數據分析中的探索性思維。可以作為零基礎學習數據分析的教程、進階數據分析實用技巧的參考書、常備查詢的案頭工具書,以及具有一定趣味性的數據分析入門啟蒙書。
作者介紹
黃天元
黃天元
復旦大學博士,中國科學院博士后,現任浙江財經大學講師。熱愛數據科學與開源工具,致力於利用數據科學迅速積累行業經驗和探索科學發現。在CRAN上維護4個R語言包(累計下載量破10萬),著有《R語言數據高效處理指南》《文本數據挖掘:基於R語言》等圖書,並開設知乎專欄《R語言數據挖掘》
目錄
第1部分 基礎知識
第1章 數據處理總論
1.1 數據處理的定義
1.2 數據處理的意義
1.3 數據處理基本工具
第2章 R語言編程基礎
2.1 下載安裝
2.2 包的使用
2.3 數據類型
2.4 數據結構
2.5 程序控制
2.6 函數式編程
第3章 數據處理基本範式
第2部分 快速入門
第4章 base-r:基本數據處理
4.1 數據集及其基本探索
4.2 基本範式實現
4.2.1 創建(read.csv/data.frame)
4.2.2 刪除(rm)
4.2.3 檢索(DF[i,j])
4.2.4 插入(rbind/cbind)
4.2.5 排序(order)
4.2.6 過濾(DF[condition,])
4.2.7 匯總(apply)
4.2.8 分組(aggregate)
4.2.9 連接(merge)
第5章 tidyverse 生態系統:簡潔高效數據處理
5.1 tidyverse 生態系統簡介
5.2 基本範式實現
5.2.1 包的載入(p_load)
5.2.2 創建(read_csv/tibble)
5.2.3 刪除(rm)
5.2.4 檢索(select/slice)
5.2.5 插入(add/bind)
5.2.6 排序(arrange)
5.2.7 過濾(filter)
5.2.8 匯總(summarise)
5.2.9 分組(group_by)
5.2.10 連接(join)
5.3 高級處理工具
5.3.1 長寬數據變換(gather/spread)
5.3.2 集合運算(intersect/union/setdiff)
5.3.3 窗口函數(rank/lead/lag/cum)
5.3.4 連接資料庫:對SQL 的支持(dbplyr)
5.3.5 巧妙寫函數:變數的引用
第3部分 高級進階
第6章 data.table:高速數據處理
6.1 data.table 簡介
6.2 基本範式實現
6.3 高級特性探索
第7章 sparklyr: 分散式數據處理
7.1 連接R 與Spark:sparklyr 包簡介
7.2 基本操作指南
7.3 存儲機制簡介
7.4 分散式計算
第4部分 實戰應用
第8章 航班飛行數據演練
8.1 nycflights13 數據集探索
8.2 flights14 數據集探索
第9章 測試
第10章 實用數據處理技巧
10.1 數據存取
10.1.1 令人頭疼的編碼格式(encoding)
10.1.2 讀寫性能競速賽(fst/feather & data.table/readr)
10.1.3 數據存取轉換的瑞士軍刀(rio)
10.2 並行計算(doParallel)
10.3 混合編程
第11章 實戰案例:網路爬蟲與文本挖掘
11.1 網路爬取(rvest)
11.2 文本挖掘(tidytext)
第12章 實戰案例:數據塑型與可視化(ggplot2)
12.1 數據準備
12.2 柱狀圖(geom_bar)
12.3 折線圖(geom_line)
12.4 餅圖(ggpie)
12.5 一行代碼實現一頁多圖(gridExtra)
第13章 實戰案例:機器學習
13.1 機器學習概述
13.2 為什麼要做機器學習
13.3 如何入門機器學習
13.4 數據處理與機器學習
13.5 案例分析:信貸風險預測模型構建
致謝