本書以理論結(jié)合示例操作的方式,全面介紹了R語言編程基礎(chǔ)及其知識的應(yīng)用,講解了利用R語言解決部分實際問題的方法。全書共7章:第 1章為R語言概述,包括學(xué)習(xí)R語言的優(yōu)勢、R語言的編譯環(huán)境、R包的獲取及加載、R包的內(nèi)置數(shù)據(jù)等;第 2~6章主要介紹R語言的數(shù)據(jù)對象與數(shù)據(jù)讀寫、數(shù)據(jù)集基本處理、函數(shù)與控制流、初級繪圖、繪圖;第7章主要介紹可視化數(shù)據(jù)挖掘工具Rattle。本書的每章都包含了課后習(xí)題,通過練習(xí)幫助讀者鞏固所學(xué)的內(nèi)容。
大數(shù)據(jù)專家張良均領(lǐng)銜暢銷書作者團(tuán)隊,教育部長江學(xué)者特聘教授、國家杰出青年基金獲得者、IEEE Fellow、華南理工大學(xué)計算機(jī)與工程學(xué)院院長張軍傾力推薦。
全書大部分章節(jié)緊扣實際需求展開,不堆積知識點,著重于解決問題時思路的啟發(fā)與方案的實施,幫助讀者真正理解與消化R語言編程基礎(chǔ)。
書中案例全部源于企業(yè)真實項目,可操作性強(qiáng),引導(dǎo)讀者融會貫通,并提供源代碼等相關(guān)學(xué)習(xí)資源,幫助讀者快速掌握大數(shù)據(jù)相關(guān)技能。
張良均,信息系統(tǒng)項目管理師,泰迪杯全國大學(xué)生數(shù)據(jù)挖掘競賽(www.tipdm.org)發(fā)起人。華南師范大學(xué)、廣東工業(yè)大學(xué)兼職教授,廣東省工業(yè)與應(yīng)用數(shù)學(xué)學(xué)會理事。兼有大型高科技企業(yè)和高校的工作經(jīng)歷,主要從事大數(shù)據(jù)挖掘及其應(yīng)用的策劃、研發(fā)及咨詢培訓(xùn)。全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試?yán)^續(xù)教育和CDA數(shù)據(jù)分析師培訓(xùn)講師。發(fā)表數(shù)據(jù)挖掘相關(guān)論文數(shù)20余篇,已取得國家發(fā)明專利12項,主編《Hadoop大數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》《R語言數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》等多本暢銷圖書,主持并完成科技項目9項。獲得SAS、SPSS數(shù)據(jù)挖掘認(rèn)證及Hadoop開發(fā)工程師證書,具有電力、電信、銀行、制造企業(yè)、電子商務(wù)和電子政務(wù)的項目經(jīng)驗和行業(yè)背景。
第 1章 R語言概述 1
1.1 認(rèn)識R語言 1
1.1.1 R語言的基本信息 1
1.1.2 獲取與安裝R語言 2
1.1.3 介紹R語言的編輯窗口 6
1.2 認(rèn)識R語言的編譯環(huán)境 7
1.2.1 認(rèn)識R語言的編譯器RStudio 7
1.2.2 獲取R語言的幫助 11
1.2.3 了解R語言的工作空間 11
1.3 使用R包 13
1.3.1 認(rèn)識R包 14
1.3.2 安裝與加載R包 14
1.3.3 掌握常用的R包 14
1.4 了解R包的內(nèi)置數(shù)據(jù)集 16
1.5 小結(jié) 19
課后習(xí)題 20
第 2章 數(shù)據(jù)對象與數(shù)據(jù)讀寫 21
2.1 查看數(shù)據(jù)類型 21
2.1.1 基本數(shù)據(jù)類型 21
2.1.2 查看與轉(zhuǎn)換對象類型 22
2.2 判斷數(shù)據(jù)結(jié)構(gòu) 24
2.2.1 向量 24
2.2.2 矩陣 30
2.2.3 數(shù)組 36
2.2.4 數(shù)據(jù)框 38
2.2.5 列表 42
2.2.6 數(shù)據(jù)結(jié)構(gòu)的判別與轉(zhuǎn)換 46
2.3 讀寫不同數(shù)據(jù)源的數(shù)據(jù) 48
2.3.1 從鍵盤導(dǎo)入數(shù)據(jù) 48
2.3.2 讀寫帶分隔符的文件 49
2.3.3 讀寫Excel文件 50
2.3.4 導(dǎo)入其他統(tǒng)計軟件文件 51
2.3.5 導(dǎo)入數(shù)據(jù)庫數(shù)據(jù) 52
2.3.6 導(dǎo)入網(wǎng)頁數(shù)據(jù) 53
2.4 小結(jié) 53
課后習(xí)題 54
第3章 數(shù)據(jù)集基本處理 56
3.1 新增數(shù)據(jù)屬性列 56
3.1.1 訪問數(shù)據(jù)框變量 56
3.1.2 創(chuàng)建新變量 57
3.1.3 重命名變量 58
3.2 清洗數(shù)據(jù) 61
3.2.1 處理缺失值 61
3.2.2 處理日期變量 62
3.2.3 數(shù)據(jù)排序 66
3.2.4 合并數(shù)據(jù)集 68
3.3 選取變量及數(shù)據(jù) 69
3.3.1 選取變量 69
3.3.2 刪除變量 70
3.3.3 使用subset函數(shù)選取數(shù)據(jù) 71
3.3.4 隨機(jī)抽樣 71
3.4 整合數(shù)據(jù) 74
3.4.1 使用SQL語句操作數(shù)據(jù) 74
3.4.2 匯總統(tǒng)計數(shù)據(jù) 75
3.4.3 重塑數(shù)據(jù) 77
3.5 處理字符數(shù)據(jù) 80
3.5.1 正則表達(dá)式 81
3.5.2 字符串處理函數(shù) 81
3.6 小結(jié) 85
課后習(xí)題 85
第4章 函數(shù)與控制流 87
4.1 使用常用函數(shù)及apply函數(shù)族處理數(shù)據(jù) 87
4.1.1 掌握處理數(shù)據(jù)的常用函數(shù) 87
4.1.2 使用apply函數(shù)族批量處理數(shù)據(jù) 93
4.2 編寫條件分支語句 97
4.2.1 掌握if…else判斷語句 97
4.2.2 使用switch分支語句 99
4.3 編寫循環(huán)語句 99
4.3.1 使用for循環(huán)語句 99
4.3.2 掌握while循環(huán)語句 100
4.3.3 使用repeat-break循環(huán)語句 100
4.4 編寫自定義函數(shù) 101
4.4.1 掌握自定義函數(shù)的方法 101
4.4.2 實現(xiàn)兩個矩陣的乘積 103
4.5 小結(jié) 104
課后習(xí)題 104
第5章 初級繪圖 106
5.1 繪制基礎(chǔ)圖形 106
5.1.1 分析數(shù)據(jù)分布情況 107
5.1.2 分析數(shù)據(jù)間的關(guān)系 112
5.1.3 繪制其他圖形 118
5.2 修改圖形參數(shù) 122
5.2.1 修改顏色 123
5.2.2 修改點符號與線條 128
5.2.3 修改文本屬性 134
5.2.4 設(shè)置坐標(biāo)軸 136
5.2.5 添加圖例 138
5.3 繪制組合圖形 140
5.3.1 par函數(shù) 140
5.3.2 layout函數(shù) 143
5.4 保存圖形 144
5.5 小結(jié) 145
課后習(xí)題 145
第6章 繪圖 148
6.1 使用lattice包繪圖 148
6.1.1 lattice包繪圖特色 148
6.1.2 使用lattice包 155
6.2 使用ggplot2包繪圖 171
6.2.1 qplot函數(shù) 171
6.2.2 理解ggplot2包的語言邏輯 174
6.2.3 ggplot繪圖 174
6.3 認(rèn)識交互式繪圖工具 186
6.3.1 使用rCharts包生成網(wǎng)頁動態(tài)圖片 186
6.3.2 利用googleVis包實現(xiàn)數(shù)據(jù)動態(tài)可視化 190
6.3.3 利用htmlwidgets包實現(xiàn)繪圖的網(wǎng)頁化分享 190
6.3.4 利用shiny包實現(xiàn)可交互的Web應(yīng)用 195
6.4 小結(jié) 203
課后習(xí)題 204
第7章 可視化數(shù)據(jù)挖掘工具Rattle 206
7.1 了解并安裝Rattle 206
7.1.1 認(rèn)識Rattle 206
7.1.2 安裝Rattle 207
7.1.3 使用Rattle功能 207
7.2 導(dǎo)入數(shù)據(jù) 208
7.2.1 導(dǎo)入CSV數(shù)據(jù) 209
7.2.2 導(dǎo)入ARFF數(shù)據(jù) 212
7.2.3 導(dǎo)入ODBC數(shù)據(jù) 213
7.2.4 R Dataset——導(dǎo)入其他數(shù)據(jù)源 215
7.2.5 導(dǎo)入RData File數(shù)據(jù)集 216
7.2.6 導(dǎo)入Library數(shù)據(jù) 218
7.3 探索數(shù)據(jù) 219
7.3.1 數(shù)據(jù)總體概況 219
7.3.2 數(shù)據(jù)分布探索 222
7.3.3 相關(guān)性 223
7.3.4 主成分 227
7.3.5 交互圖 228
7.4 構(gòu)建模型 230
7.4.1 聚類分析 230
7.4.2 關(guān)聯(lián)規(guī)則 234
7.4.3 決策樹 236
7.4.4 隨機(jī)森林 238
7.5 評估模型 241
7.5.1 混淆矩陣 241
7.5.2 風(fēng)險圖 241
7.5.3 ROC圖及相關(guān)圖表 241
7.5.4 模型得分?jǐn)?shù)據(jù)集 243
7.6 小結(jié) 244
課后習(xí)題 244
參考文獻(xiàn) 246