這是一本基于 tidyverse 入門 R 語(yǔ)言編程的書,本書從基本的編程語(yǔ)法講起,適合編程零基礎(chǔ)的讀者閱讀。本書結(jié)合新的 R 語(yǔ)言編程范式,讓讀者學(xué)習(xí)更高效率的 R 編程,尤其是真正用整潔優(yōu)雅的數(shù)據(jù)化編程思維解決一系列數(shù)據(jù)問(wèn)題,包括數(shù)據(jù)清洗、數(shù)據(jù)處理、數(shù)據(jù)可視化、統(tǒng)計(jì)建模、文檔溝通等,并在附錄中將透視表、網(wǎng)絡(luò)爬蟲、高性能計(jì)算、機(jī)器學(xué)習(xí)等典型應(yīng)用囊括其中,為讀者提供了豐富的R實(shí)用編程案例,也可作為一本 R 語(yǔ)言語(yǔ)法大全的工具書。
本書面向熱愛R語(yǔ)言編程的讀者,適合統(tǒng)計(jì)學(xué)、數(shù)據(jù)分析、數(shù)據(jù)可視化等領(lǐng)域的讀者閱讀參考,也可以作為高等院校相關(guān)專業(yè)的 R 語(yǔ)言教材。
1.學(xué)習(xí)基于tidyverse的R編程
這是一本基于tidyverse入門R語(yǔ)言編程的書,本書結(jié)合新的R語(yǔ)言編程范式,讓讀者學(xué)習(xí)更有效率的R編程,尤其是真正用整潔優(yōu)雅的數(shù)據(jù)化編程思維解決一系列數(shù)據(jù)問(wèn)題,并將透視表、網(wǎng)絡(luò)爬蟲、高性能計(jì)算、機(jī)器學(xué)習(xí)等典型應(yīng)用囊括其中。
2.簡(jiǎn)明易懂,適合新手
本書從基本的編程語(yǔ)法講起,適合編程零基礎(chǔ)的讀者閱讀。還為讀者提供了豐富的 R 實(shí)用編程案例,也可作為一本R語(yǔ)言語(yǔ)法大全的工具書。
3.配套資源強(qiáng)大,自學(xué)教學(xué)皆宜
本書提供配套數(shù)據(jù)集、R程序源代碼、PPT講稿、教學(xué)大綱,上述資源都可以在異步社區(qū)官網(wǎng)免費(fèi)下載。
張敬信,哈爾濱工業(yè)大學(xué)基礎(chǔ)數(shù)學(xué)博士,哈爾濱商業(yè)大學(xué)數(shù)學(xué)與應(yīng)用數(shù)學(xué)系主任、副教授、應(yīng)用統(tǒng)計(jì)碩導(dǎo)、數(shù)學(xué)建模主教練。主研方向?yàn)閿?shù)據(jù)挖掘、數(shù)學(xué)建模等,熱愛編程、擅長(zhǎng)R語(yǔ)言。常駐知乎平臺(tái)。發(fā)表SCI論文4篇,主持黑龍江省社科項(xiàng)目1項(xiàng)。
1 基礎(chǔ)語(yǔ)法 1
1 1 搭建 R 環(huán)境及常用操作 1
1 1 1 搭建 R 環(huán)境 1
1 1 2 常用操作 3
1 2 數(shù)據(jù)結(jié)構(gòu):向量、矩陣、
多維數(shù)組 8
1 2 1 向量(一維數(shù)據(jù)) 8
1 2 2 矩陣(二維數(shù)據(jù)) 12
1 2 3 多維數(shù)組(多維數(shù)據(jù)) 14
1 3 數(shù)據(jù)結(jié)構(gòu):列表、數(shù)據(jù)框、因子 15
1 3 1 列表 15
1 3 2 數(shù)據(jù)框(數(shù)據(jù)表) 17
1 3 3 因子 22
1 4 數(shù)據(jù)結(jié)構(gòu):字符串、日期時(shí)間 26
1 4 1 字符串 26
1 4 2 日期時(shí)間 30
1 4 3 時(shí)間序列 34
1 5 正則表達(dá)式 36
1 5 1 基本語(yǔ)法 36
1 5 2 若干實(shí)例 38
1 6 控制結(jié)構(gòu) 40
1 6 1 分支結(jié)構(gòu) 40
1 6 2 循環(huán)結(jié)構(gòu) 42
1 7 自定義函數(shù) 50
1 7 1 自定義函數(shù) 50
1 7 2 R 自帶的函數(shù) 54
2 數(shù)據(jù)操作 60
2 1 tidyverse 簡(jiǎn)介與管道 61
2 1 1 tidyverse 包簡(jiǎn)介 61
2 1 2 管道操作 62
2 2 數(shù)據(jù)讀寫 63
2 2 1 用于數(shù)據(jù)讀寫的包與函數(shù) 63
2 2 2 數(shù)據(jù)讀寫實(shí)例 64
2 2 3 連接數(shù)據(jù)庫(kù) 68
2 2 4 關(guān)于中文編碼 70
2 3 數(shù)據(jù)連接 73
2 3 1 合并行與合并列 74
2 3 2 根據(jù)值匹配合并數(shù)據(jù)框 75
2 3 3 集合運(yùn)算 78
2 4 數(shù)據(jù)重塑 78
2 4 1 什么是整潔的數(shù)據(jù) 78
2 4 2 寬表變長(zhǎng)表 80
2 4 3 長(zhǎng)表變寬表 82
2 4 4 拆分列與合并列 85
2 4 5 方形化 87
2 5 數(shù)據(jù)操作 89
2 5 1 選擇列 89
2 5 2 修改列 95
2 5 3 篩選行 99
2 5 4 對(duì)行排序 104
2 5 5 分組操作 104
2 6 其他數(shù)據(jù)操作 109
2 6 1 按行匯總 109
2 6 2 窗口函數(shù) 111
2 6 3 滑窗迭代 113
2 6 4 整潔計(jì)算 114
2 7 數(shù)據(jù)處理神器:data table 包 119
2 7 1 通用語(yǔ)法 119
2 7 2 數(shù)據(jù)讀寫 121
2 7 3 數(shù)據(jù)連接 121
2 7 4 數(shù)據(jù)重塑 122
2 7 5 數(shù)據(jù)操作 123
2 7 6 分組操作 126
3 可視化與建模技術(shù) 128
3 1 ggplot2 基礎(chǔ)語(yǔ)法 128
3 1 1 ggplot2 概述 128
3 1 2 數(shù)據(jù)、映射、幾何對(duì)象 129
3 1 3 標(biāo)度 133
3 1 4 統(tǒng)計(jì)變換、坐標(biāo)系、位置
調(diào)整 142
3 1 5 分面、主題、輸出 146
3 2 ggplot2 圖形示例 149
3 2 1 類別比較圖 150
3 2 2 數(shù)據(jù)關(guān)系圖 151
3 2 3 數(shù)據(jù)分布圖 152
3 2 4 時(shí)間序列圖 154
3 2 5 局部整體圖 154
3 2 6 地理空間圖 155
3 2 7 動(dòng)態(tài)交互圖 156
3 3 統(tǒng)計(jì)建模技術(shù) 157
3 3 1 整潔模型結(jié)果 157
3 3 2 輔助建模 159
3 3 3 批量建模 162
4 應(yīng)用統(tǒng)計(jì) 168
4 1 描述性統(tǒng)計(jì) 170
4 1 1 統(tǒng)計(jì)量 170
4 1 2 統(tǒng)計(jì)圖 172
4 1 3 列聯(lián)表 176
4 2 參數(shù)估計(jì) 177
4 2 1 點(diǎn)估計(jì)與區(qū)間估計(jì) 177
4 2 2 最小二乘估計(jì) 180
4 2 3 最大似然估計(jì) 183
4 3 假設(shè)檢驗(yàn) 187
4 3 1 假設(shè)檢驗(yàn)原理 187
4 3 2 基于理論的假設(shè)檢驗(yàn) 189
4 3 3 基于重排的假設(shè)檢驗(yàn) 194
4 4 回歸分析 196
4 4 1 線性回歸 197
4 4 2 回歸診斷 198
4 4 3 多元線性回歸實(shí)例 202
4 4 4 梯度下降法 208
5 探索性數(shù)據(jù)分析 212
5 1 數(shù)據(jù)清洗 212
5 1 1 缺失值 213
5 1 2 異常值 219
5 2 特征工程 223
5 2 1 特征縮放 223
5 2 2 特征變換 225
5 2 3 特征降維 227
5 3 探索變量間的關(guān)系 228
5 3 1 兩個(gè)分類變量 228
5 3 2 分類變量與連續(xù)變量 229
5 3 3 兩個(gè)連續(xù)變量 230
6 文檔溝通 232
6 1 R Markdown 233
6 1 1 Markdown 簡(jiǎn)介 233
6 1 2 R Markdown 基礎(chǔ) 235
6 1 3 表格輸出 240
6 2 R 與 Latex 交互 243
6 2 1 Latex 開發(fā)環(huán)境 243
6 2 2 Latex 嵌入 Rmd 244
6 2 3 期刊論文、幻燈片、書籍
模板 245
6 3 R 與 Git 版本控制 249
6 3 1 Git 版本控制 249
6 3 2 RStudio 與 Git/GitHub
交互 250
6 4 R Shiny 256
6 4 1 Shiny 基本語(yǔ)法 256
6 4 2 響應(yīng)表達(dá)式 259
6 4 3 案例:探索性數(shù)據(jù)展板 262
6 5 開發(fā) R 包 264
6 5 1 準(zhǔn)備開發(fā)環(huán)境 264
6 5 2 編寫 R 包工作流 264
6 5 3 發(fā)布到 CRAN 269
6 5 4 推廣包(可選) 272
附錄 A R6 類面向?qū)ο缶幊毯?jiǎn)單實(shí)例 273
附錄 B 錯(cuò)誤與調(diào)試 275
B 1 解決報(bào)錯(cuò)的一般策略 275
B 2 錯(cuò)誤調(diào)試技術(shù) 275
B 3 異常處理 278
附錄 C 用 R 實(shí)現(xiàn) Excel 中的 VLOOKUP 與
透視表 282
C 1 VLOOKUP 查詢 282
C 2 數(shù)據(jù)透視表 284
附錄 D 非等連接與滾動(dòng)連接 286
D 1 非等連接 286
D 2 滾動(dòng)連接 287
附錄 E R 與網(wǎng)絡(luò)爬蟲 290
E 1 rvest 爬取靜態(tài)網(wǎng)頁(yè) 290
E 2 用 httr 包爬取動(dòng)態(tài)網(wǎng)頁(yè) 292
附錄 F R 與高性能計(jì)算 296
F 1 并行計(jì)算 296
F 2 運(yùn)行 C++代碼 296
F 3 對(duì)超出內(nèi)存容量的數(shù)據(jù)集進(jìn)行
處理 297
F 4 大型矩陣運(yùn)算 298
附錄 G R 機(jī)器學(xué)習(xí)框架 300
G 1 mlr3verse 300
G 2 tidymodels 301