零基礎學R語言數學計算、統計模型與金融大數據分析
內容描述
R具有高效的數據存儲和數據處理功能,隨著大數據技術的崛起,R語言已成為大數據處理必備的工具之一。R語言並不是獨立存在的程序設計語言,我們習慣說的R其實是指R系統。本書從建立R系統的基本環境入手,講述R語言的基本函數及數據分析圖形的繪製,用豐富的範例來講解R語言的基礎知識,並切入三個熱門領域:金融分析、統計模型、數學計算。通過解析在這些領域的實用案例及數據處理分析的過程,讓你在最短的時間內掌握R語言的核心知識,並可以用這些知識解決自己實際工作中遇到的問題。若你是初學者,本書可以作為你學習R語言應用基礎的快速入門教材。若你有一定基礎,本書則可以進一步拓展你的視野,提升你使用R系統進行專業數據分析的能力。
目錄大綱
第1章建立R語言的環境 1
1.1 認識R語言 1
1.1.1 R語言的誕生 1
1.1.2 關於大數據 2
1.1.3 R語言在大數據中的應用 4
1.2 單機版的R語言 6
1.2.1 在Windows上安裝R語言軟件 6
1.2.2 在Linux上安裝R語言軟件10
1.2.3 第一次使用R語言12
1.3 服務器上的R語言13
1.3.1 為什麼要連接到服務器14
1.3.2 遠程連接操作的方式14
1.3.3 將服務器的圖形映射到客戶端18
第2章R語言的內建工具25
2.1 變量定義與邏輯判斷25
2.2 數值與向量2
2.2.1 數值的基本運算26
2.2.2 數值的科學函數30
2.2.3 向量函數33
2.3 數組與矩陣38
2.3.1 數組與矩陣的產生與命名38
2.3.2 數組的合併與矩陣的轉換42
2.3.3 矩陣的計算45
2.3.4 矩陣的數值分解49
2.4 數據的處理51
2.4.1 變量的處理工具57
2.4.2 數據的讀入與輸出57
2.4.3 數據的排序64
2.4.4 數據的分割與合併65
2.5 文字的處理67
2.5.1 字符串的產生67
2.5.2 字符串的顯示68
2.5.3 字符串內容的搜索70
2.5.4 字符串內容的提取74
2.5.5 字符串的替換與組合75
2.5.6 缺失項(NA)的處理77
第3章 外部數據的讀取 90
3.1 文本文件的讀取 90
3.1.1 將文本文件內容存為變量 90
3.1.2 根據固定字符分隔字段 91
3.1.3 通過Linux指令轉換字段格式 92
3.1.4 範例實踐 97
3.2 數據庫的讀取 98
3.2.1 創建MySQL數據庫與數據表 99
3.2.2 使用數據庫語句存取數據 100
3.2.3 安裝和使用RMySQL 104
3.2.4 使用R讀取數據庫內容 105
3.2.5 使用R將內容寫入或更新數據庫 106
第4章 程序邏輯結構 108
4.1 函數 108
4.1.1 使用已經存在的函數 108
4.1.2 自行定義與使用函數 109
4.2 判斷 110
4.2.1 邏輯判斷表達式 110
4.2.2 條件判斷語句 111
4.3 循環 112
4.3.1 for循環 112
4.3.2 while循環 115
4.3.3 repeat循環 117
4.3.4 break跳出循環 118
4.3.5 next跳過此次循環 118
4.4 創建自己的R語言程序 119
4.4.1 Source與R Script 119
4.4.2 在外部執行R Script 120
第5章 圖形的繪製 125
5.1 系統環境 125
5.2 圖形函數 125
5.2.1 par函數 125
5.2.2 Line Chart(線圖) 128
5.2.3 Dot Plot(點圖) 130
5.2.4 Bar Plot(條形圖) 131
5.2.5 histogram(直方圖) 133
5.2.6 Pie Chart(餅圖) 134
5.2.7 Density Plot(密度圖) 136
5.2.8 Box Plot(箱線圖、盒須圖) 138
5.2.9 abline、curve(直線、曲線) 139
5.2.10 text(輔助文字) 142
5.2.11 Saving Graphs(保存圖形) 143
5.3 繪圖範例 143
第6章 數值分析與矩陣計算 146
6.1 數值分析函數 146
6.1.1 數值精度 146
6.1.2 四捨五入誤差 147
6.1.3 R的內建數值與數學函數 149
6.1.4 多項式函數 150
6.1.5 方程式的解 155
6.2 矩陣應用函數 158
6.2.1 行列式 159
6.2.2 逆矩陣 160
6.2.3 特徵值與特徵向量 160
6.2.4 矩陣分解 161
6.3 矩陣計算範例 164
6.3.1 矩陣的N次方 165
6.3.2 Fibonacci數列 166
6.3.3 特徵向量的中心性 167
6.4 微分方程組範例 168
6.4.1 常微分方程式 169
6.4.2 邊界值問題 171
第7章 統計模型的建構與分析 174
7.1 概率函數的應用 174
7.1.1 一般概率的計算 174
7.1.2 概率分佈 174
7.1.3 隨機變量 180
7.2 統計函數的應用 182
7.2.1 基本統計的計算 182
7.2.2 評估置信區間 185
7.2.3 執行統計檢驗 187
7.3 圖形與模型的應用 190
7.3.1 繪製統計圖形 190
7.3.2 線性回歸模型 194
第8章 金融工具的分析與使用 197
8.1 金融函數的應用 197
8.1.1 時間序列分析 197
8.1.2 回報率與槓桿原理 212
8.1.3 債券收益率與期限結構 214
8.1.4 投資組合理論 215
8.2 圖形與模型的應用 217
8.2.1 Black-Scholes 模型 217
8.2.2 套期保值模型 218
8.2.3 Delta避險 220
8.3 金融軟件包的應用:quantmod 221
8.3.1 安裝與加載 221
8.3.2 獲取數據並繪圖 223
8.3.3 數據的讀取 225
8.3.4 K線圖的繪製 227
8.3.5 TTR技術指標的應用 230
第9章 金融大數據的挖掘 234
9.1 獲取歷史數據和信息 234
9.1.1 了解數據的來源與獲取 234
9.1.2 了解時間單位不同的差距 235
9.1.3 網絡上的公開信息 236
9.2 公司基本資料與股票市場的分析 238
9.2.1 公開信息的分析與獲取 239
9.2.2 分析公司的基本資料 243
9.2.3 圖表的繪製與輸出 244
9.2.4 股價的分析與策略 245
9.3 期貨交易的分析與回測 246
9.3.1 了解期貨交易所的數據 246
9.3.2 在R中讀取交易數據 246
9.3.3 數據的分析與計算 246
9.3.4 圖表的繪製與輸出 248
第10章 平順銜接 MATLAB 251
10.1 MATLAB的安裝與加載 251
10.2 介紹MATLAB軟件包內的函數 251
10.3 Rcpp 267
10.3.1 認識Rcpp 267
10.3.2 安裝工具軟件包 267
10.3.3 Rcpp範例與性能測試 271
作者介紹
豐士昌曾擔任MIS工程師與主管,對於Linux系統管理與服務器架設擁有十餘年經驗,著有系統、網絡、服務器相關書籍四十餘本,通過LPIC Level 1與Level 2認證,目前擔任企業信息部門主管,並兼任計算機培訓講師,教授操作系統、服務器、雲端系統等課程。