R數據分析——方法與案例詳解

R數據分析——方法與案例詳解

《R數據分析——方法與案例詳解》是2015年2月電子工業出版社出版的圖書,作者是方匡南 朱建平 姜葉飛。

內容簡介

《R數據分析——方法與案例詳解(雙色)》是一本R 語言和數據分析的入門教材,循序漸進、深入淺出,每個知識點儘量從實際的套用案例出發,以問題為導向,在解決問題中學習統計方法、R 語言的基本使用以及編程技巧。

《R數據分析——方法與案例詳解(雙色)》內容涵蓋R 數據結構、函式與最佳化、抽樣模擬、統計分析、假設檢驗、回歸分析、統計繪圖和R 包製作等內容。

《R數據分析——方法與案例詳解(雙色)》的定位是為業界數據分析人員、經濟管理類、醫學的學生提供方法和程式上的參考,在寫作過程中儘量刪去比較理論的數學原理,這樣能夠幫助讀者輕鬆上手學習。

內容提要

《R數據分析——方法與案例詳解(雙色)》是一本R 語言和數據分析的入門教材,循序漸進、深入淺出,每個知識點儘量從實際的套用案例出發,以問題為導向,在解決問題中學習統計方法、R 語言的基本使用以及編程技巧。

《R數據分析——方法與案例詳解(雙色)》內容涵蓋R 數據結構、函式與最佳化、抽樣模擬、統計分析、假設檢驗、回歸分析、統計繪圖和R 包製作等內容。

《R數據分析——方法與案例詳解(雙色)》的定位是為業界數據分析人員、經濟管理類、醫學的學生提供方法和程式上的參考,在寫作過程中儘量刪去比較理論的數學原理,這樣能夠幫助讀者輕鬆上手學習。

目錄

第 1 章 初識R語言..................................... 1

1.1 什麼是R語言........................................ 1

1.2 為什麼用R語言.................................... 2

1.3 安裝R..................................................... 4

1.4 R擴展包................................................. 4

1.4.1 R擴展包的安裝與載入............ 5

1.4.2 R包的使用................................ 6

1.5 R編輯器................................................. 7

1.6 工作空間............................................. 11

第 2 章 數據結構與基本運算.................... 13

2.1 數據類型............................................. 13

2.2 數據對象............................................. 14

2.2.1 向量......................................... 15

2.2.2 矩陣......................................... 21

2.2.3 數組......................................... 31

2.2.4 因子......................................... 32

2.2.5 列表......................................... 33

2.2.6 數據框..................................... 34

2.3 習題..................................................... 36

第 3 章 函式與最佳化.................................. 38

3.1 常用的R內置函式.............................. 38

3.2 條件控制語句..................................... 38

3.2.1 if/else語句............................... 38

3.2.2 ifelse 語句............................... 39

3.2.3 switch語句............................... 39

3.3 循環語句............................................. 40

3.3.1 for循環.................................... 40

3.3.2 while循環................................ 40

3.3.3 repeat語句............................... 41

3.4 編寫自己的函式................................. 41

3.4.1 函式名..................................... 42

3.4.2 關鍵字function........................ 42

3.4.3 參數......................................... 42

3.4.4 函式體和函式返回值............ 44

3.5 程式調試............................................. 45

3.6 程式運行時間與效率......................... 46

3.7 用R做最佳化求解.................................. 47

3.7.1 一元函式最佳化求解................ 48

3.7.2 多元函式最佳化求解................ 48

3.7.3 約束條件下的最佳化求解........ 50

3.8 習題..................................................... 52

第 4 章 隨機數與抽樣模擬........................ 54

4.1 一元隨機數的產生............................. 54

4.1.1 均勻分布隨機數.................... 54

4.1.2 常態分配隨機數.................... 56

4.1.3 指數分布隨機數.................... 57

4.1.4 離散分布隨機數的生成........ 58

4.1.5 常見分布函式表.................... 59

4.2 多元隨機數的生成............................. 61

4.2.1 多元常態分配隨機數............ 61

4.2.2 多元常態分配密度函式、分位數與累積機率................ 63

4.2.3 多元t分布隨機數................... 64

4.3 隨機抽樣............................................. 65

4.3.1 放回與無放回抽樣................ 65

4.3.2 bootstrap重抽樣...................... 66

4.4 統計模擬............................................. 67

4.4.1 幾種常見的模擬方法............ 67

4.4.2 模擬函式的建立方法............ 70

4.5 習題..................................................... 73

第 5 章 數據讀寫與預處理........................ 74

5.1 數據的讀入......................................... 74

5.1.1 直接輸入數據........................ 74

5.1.2 讀R包中的數據...................... 75

5.1.3 從外部檔案讀入數據............ 75

5.2 寫出數據............................................. 79

5.3 數據預處理......................................... 80

5.3.1 變數預處理............................ 81

5.3.2 變數重編碼............................ 82

5.3.3 變數重命名............................ 84

5.3.4 變數類型的轉換.................... 85

5.3.5 日期變數的變換.................... 86

5.4 缺失數據處理..................................... 87

5.4.1 缺失數據的識別.................... 87

5.4.2 缺失數據的探索與檢驗........ 88

5.4.3 缺失數據的處理.................... 89

5.5 數據集的合併與拆分......................... 90

5.5.1 數據框的合併與拆分............ 90

5.5.2 數據集的合併........................ 92

5.5.3 數據集的抽取........................ 92

5.6 習題..................................................... 93

第 6 章 探索性數據分析........................... 94

6.1 主要分析工具..................................... 94

6.1.1 探索性數據分析的工具........ 94

6.1.2 數據的類型............................ 98

6.2 單變數數據分析................................. 99

6.2.1 分類型數據............................ 99

6.2.2 數值型數據.......................... 101

6.2.3 離群值探索.......................... 106

6.3 雙變數數據分析............................... 109

6.3.1 分類數據對分類數據.......... 109

6.3.2 分類數據對數值型數據...... 111

6.3.3 數值型數據對數值型數據.... 112

6.4 多變數數據分析............................... 115

6.4.1 訪問數據框數據.................. 115

6.4.2 多變數數據的分析.............. 118

6.5 習題................................................... 124

第 7 章 參數假設檢驗............................. 126

7.1 假設檢驗的思想與步驟................... 126

7.1.1 假設檢驗的基本思想.......... 126

7.1.2 假設檢驗的基本步驟.......... 128

7.2 正態總體單樣本參數假設檢驗....... 129

7.2.1 均值的檢驗.......................... 130

7.2.2 方差檢驗............................... 132

7.3 正態總體雙樣本參數假設檢驗....... 134

7.3.1 雙樣本方差的檢驗(方差齊性檢驗).............. 134

7.3.2 兩樣本均值檢驗.................. 135

7.4 比例假設檢驗................................... 139

7.4.1 單樣本比例檢驗.................. 139

7.4.2 兩樣本比例檢驗.................. 141

7.5 習題................................................... 142

第 8 章 非參數假設檢驗......................... 144

8.1 圖示法............................................... 144

8.2 卡方檢驗........................................... 146

8.2.1 卡方分布(χ 2 distribution)...... 147

8.2.2 卡方擬合優度檢驗.............. 148

8.2.3 卡方獨立性檢驗.................. 151

8.2.4 卡方兩樣本同質性檢驗...... 151

8.3 秩和檢驗........................................... 152

8.3.1 秩的概念............................... 153

8.3.2 單樣本符號秩檢驗.............. 153

8.3.3 兩獨立秩和檢驗.................. 154

8.3.4 多個獨立樣本的秩和檢驗.... 155

8.3.5 多個相關樣本的秩和檢驗.... 158

8.4 K-S檢驗............................................ 160

8.4.1 K-S單樣本總體分布驗證.... 160

8.4.2 K-S兩獨立樣本同質檢驗.... 160

8.5 常用正態性檢驗............................... 162

8.5.1 偏度、峰度檢驗法.............. 162

8.5.2 Shapiro-Wilk(W檢驗)..... 163

8.5.3 其他常用正態檢驗.............. 165

8.6 習題................................................... 167

第 9 章 方差分析.................................... 169

9.1 單因素方差分析............................... 170

9.2 雙因素方差分析............................... 174

9.2.1 不考慮互動作用的雙因素方差分析.......................... 174

9.2.2 考慮互動作用的雙因素分析....................................... 178

9.3 習題................................................... 183

第 10 章 線性回歸模型........................... 184

10.1 問題提出......................................... 184

10.2 一元線性回歸................................. 185

10.2.1 一元線性回歸概述............ 186

10.2.2 一元線性回歸的參數估計.... 188

10.2.3 一元線性回歸模型的檢驗.... 195

10.2.4 一元線性回歸的預測........ 197

10.2.5 一元線性回歸綜合案例.... 201

10.3 多元線性回歸分析......................... 205

10.3.1 多元線性回歸模型及假定.... 206

10.3.2 參數估計............................. 207

10.3.3 模型檢驗............................. 209

10.3.4 預測..................................... 211

10.3.5 多元線性回歸綜合案例.... 213

10.4 習題................................................. 218

第 11 章 線性回歸模型的擴展................ 220

11.1 多重共線性..................................... 220

11.1.1 問題的提出........................ 220

11.1.2 多重共線性定義及後果..... 222

11.1.3 多重共線性檢驗................ 222

11.1.4 多重共線性克服................ 225

11.2 異方差性......................................... 229

11.2.1 問題的提出........................ 229

11.2.2 異方差性定義及後果........ 231

11.2.3 異方差性檢驗.................... 232

11.2.4 異方差性克服.................... 236

11.3 序列相關性..................................... 240

11.3.1 問題的提出........................ 241

11.3.2 序列相關性定義及後果..... 243

11.3.3 序列相關性檢驗................ 245

11.3.4 序列相關性克服................ 248

11.4 習題................................................. 251

第 12 章 非線性回歸分析....................... 254

12.1 問題的提出..................................... 254

12.2 可線性化的非線性回歸................. 255

12.2.1 Cobb-Douglas生產函式..... 255

12.2.2 多項式方程模型................ 257

12.2.3 指數函式模型.................... 259

12.3 不可線性化的非線性回歸............. 260

12.3.1 非線性模型的參數估計與疊代算法......................... 262

12.3.2 初始值選取........................ 269

12.3.3 收斂性................................. 270

12.4 非線性回歸評價和假設檢驗......... 271

12.4.1 可決係數............................. 271

12.4.2 參數顯著性的F 檢驗....... 271

12.4.3 似然比檢驗........................ 272

12.5 習題................................................. 274

第 13 章 二元選擇模型........................... 275

13.1 問題的提出..................................... 276

13.2 線性機率(LP)模型原理............ 277

13.3 Probit模型原理................................ 279

13.4 Logit模型原理................................. 280

13.5 邊際效應分析................................. 281

13.6 最大似然估計(MLE)................. 282

13.7 似然比檢驗和擬合優度................. 282

13.8 案例分析:經濟學教學新方法的效果............................................. 284

13.9 擴展案例:信用卡違約預測分析..... 289

13.9.1 描述性統計........................ 290

13.9.2 模型建立與參數估計........ 291

13.9.3 係數意義與邊際分析........ 295

13.9.4 擬合與預測........................ 296

13.9.5 結論與建議........................ 297

13.10 習題............................................... 297

第 14 章 多元選擇模型........................... 299

14.1 有序選擇模型................................. 299

14.1.1 問題的提出:本科生申請研究生的影響因素........ 300

14.1.2 有序選擇模型.................... 300

14.1.3 案例分析:本科生申請研究生的影響因素............ 302

14.2 多元無序Logit模型......................... 304

14.2.1 問題的提出:關於釣魚模式的選擇......................... 304

14.2.2 多元無序Logit模型............ 305

14.2.3 案例分析:關於釣魚模式的選擇............................. 307

14.3 嵌套Logit模型................................. 309

14.3.1 問題的提出:旅行交通方式選擇............................. 309

14.3.2 嵌套Logit模型原理............ 310

14.3.3 案例分析:旅行交通方式選擇................................. 311

14.4 習題................................................. 313

第 15 章 計數模型與受限因變數模型..... 314

15.1 計數模型......................................... 314

15.1.1 問題的提出:輪船事故的計數數據模型................ 314

15.1.2 計數數據模型的設定........ 316

15.1.3 計數數據模型的估計........ 317

15.2 受限因變數模型............................. 319

15.2.1 截斷模型的問題提出........ 319

15.2.2 截斷模型原理.................... 319

15.2.3 審查模型問題的提出........ 321

15.2.4 審查模型原理.................... 322

15.2.5 最大似然估計(MLE).... 323

15.3 習題................................................. 328

第 16 章 分位數回歸.............................. 330

16.1 問題的提出..................................... 330

16.2 總體分位數和總體中位數............. 332

16.3 經驗分位數估計............................. 333

16.4 分位數回歸原理............................. 334

16.5 擴展案例:社會保障與城鄉家庭消費......................................... 339

16.5.1 問題的提出........................ 339

16.5.2 數據說明............................. 339

16.5.3 實證分析............................. 342

16.5.4 結論與建議........................ 345

16.6 習題................................................. 345

第 17 章 高級統計繪圖........................... 346

17.1 繪製地圖......................................... 346

17.2 高階繪圖工具——ggplot2............. 355

17.2.1 散點圖................................. 355

17.2.2 散點圖上添加平滑曲線.... 358

17.2.3 條形圖和箱線圖................ 360

17.2.4 直方圖和密度曲線圖........ 362

17.2.5 時間序列圖........................ 364

17.2.6 圖形標註............................. 365

17.3 三維圖形與等高線圖..................... 366

17.3.1 三維圖形............................. 366

17.3.2 等高圖/等高線................... 368

17.4 詞雲................................................. 369

17.5 散點圖矩陣與關係矩陣圖............. 370

17.6 馬賽克圖......................................... 372

17.7 習題................................................. 374

第 18 章 如何製作自己的R包................. 375

18.1 R包基礎........................................... 376

18.2 在Windows中製作R包.................... 377

18.3 在RStudio中製作R包...................... 381

18.4 習題................................................. 383

參考文獻................................................... 384__

前言

R語言是由紐西蘭奧克蘭大學的Ross Ihaka與Robert Gentleman一起開發的一個面向對象的程式語言,因兩人的名字都是以R開頭,所以命名為“R”。R是“GNU S”,一個免費開源、能夠自由有效地用於統計計算和繪圖的語言和環境,可以在UNIX、Windows和Mac OS系統中運行,它提供了廣泛的統計分析和繪圖技術,包括回歸分析、時間序列、分類和聚類等方法。

2009年,《紐約時報》發表了題為 “Data Analysts Captivated by R’s Power”的社評,集中討論了R語言在數據分析領域的發展,並引發了SAS和R用戶廣泛而激烈的爭論。文章認為,讓R變得如此有用和如此快地廣受歡迎的原因是統計學家、工程師和科學家們在不斷精煉代碼或編寫各種特有而具體的包。而且現在R軟體增添了很多高級算法、作圖顏色和文本注釋,以及為與資料庫連結等提供挖掘技術。文中引用了幾位科學家對R做的高度評價,如Google首席經濟學家Hal Varian講了一句很好的話:“R最優美的地方是它能夠修改很多前人編寫的包的代碼做各種你所需要的事情,實際上你是站在巨人的肩膀上。”

2010年,美國統計協會(American Statistical Association)將第一屆 “統計計算及圖形獎”授予R語言,用於表彰其在統計套用和統計研究方面廣泛的影響。

筆者自接觸R語言至今已近10年,記得最早聽到R語言是2004年日本同志社文化大學情報研究所金明哲教授前來講座,他給我們講了一個關於利用文本挖掘方法破了人身意外保險詐欺殺人案。第一次聽到數據挖掘竟然可以如此神奇的破案,便被深深地吸引住了,當初金教授提到其主要分析工具就是R語言。這是筆者第一次接觸R語言。

其後,筆者的碩士導師王斌會教授要求我們學習R語言,坦誠地講,R語言對於剛入門的人來講確實有點困難,而且那個時候R語言的參考書少得可憐,當時市面上還沒有R語言中文教材,用的人也很少。我參與了王斌會老師R語言中文教材的編寫小組,一邊學習R語言英文經典教材,一邊整理學習心得和相關資料。一年之後,第一本R語言中文教材《R語言統計分析軟體教程》面世了。通過編寫教材,筆者從中體會到了學習R語言的樂趣,自從學會了R語言,筆者之後的數據分析主要使用的都是它。

後來,人大經濟論壇邀請筆者為他們錄製R語言視頻課程,筆者利用閒暇時間整理講義,先後錄製了《R語言初級》《R語言高級》《R金融時間序列初級》和《R金融時間序列高級》等視頻課程,反響很好,很多學員要求筆者寫相應的系列教材,由於繁重的科研壓力以及個人的惰性,雖有此想法已久,但卻遲遲未動筆。後來成為廈門大學教師,系裡讓教《計算機在統計中的套用》一課,筆者覺得講R語言是最恰當不過了,因此邊上課,邊整理講義,並不斷地完善,教該課程已經4年,講義也先後修改了4年。

再後來,人大經濟論壇又邀請筆者為他們在北京、上海等地開設暑期和節假日現場公開課,前來聽課的學生既有國內外著名高校的教師和研究生,又有醫藥公司的數據分析人員以及網際網路企業的數據分析人員等,他們對筆者的講義提了很多有用的建議。筆者在這些公開課的講課中,不斷地完善講義,最終形成了此書。關於如何取一個恰當而又響亮的書名,確實是一件挺難的事,筆者想了好幾個書名,但最終還是認為取名為《R數據分析——方法與案例詳解》可能比較合適。

該書是一本R語言和數據分析的入門教材,內容循序漸進、深入淺出,每個知識點都儘量從實際的套用案例出發,以問題為導向,在解決問題中學習統計方法、R語言的基本使用以及編程技巧。本書的定位是為業界數據分析人員、經濟管理類和醫學類的學生提供方法和程式上的參考,在寫作過程中儘量刪去比較理論的數學原理,當然有些原理部分無法跳過,所以在學習時需要有一定高等數學和機率論的基礎,但如果想真正掌握某個統計方法,那么學習其背後的原理還是非常有必要的。當然,如果對方法的原理確實不感興趣,只是為了用R程式實現某種方法,或者分析某個有意義的數據,則可以跳過原理,只看案例和程式即可。

該書的姐妹書,會講解更為高深的統計方法,涉及聚類分析、分類分析、關聯規則、時間序列等問題,更注重在網際網路、金融、企業行銷、基因分析等領域的套用,目前暫定書名為《R數據挖掘——方法與案例詳解》。

該書適合作為高校數據分析相關專業的教科書,也適合供醫學、市場調查、金融以及網際網路等企業的相關數據分析人員閱讀。

本書第1章和第2章由方匡南、姜葉飛撰寫,第3章和第4章由方匡南撰寫,第5章由方匡南、易煌迪撰寫,第6章到第9章由方匡南撰寫,第10章到第15章由朱建平、方匡南撰寫,第16章由方匡南撰寫,第17章由方匡南、姜葉飛撰寫。第18章由方匡南、張聲威撰寫。最後由方匡南、朱建平進行加工總纂、修改定稿。

王秉權參與了第4章到第12章的校對、修改等工作。歐陽漢參與了第7章到第9章的校對、修改。感謝成都道然科技有限責任公司的專業意見和建議。感謝四川大學嚴珂瑋為本書配的精美插畫。感謝夫人張晶在我的寫作過程中給予的支持和幫助。再次感謝為本書提供了直接或者間接幫助的各位朋友,沒有你們的幫助,本書的出版沒有這么順利。

由於作者水平有限,書中難免有錯誤和不足之處,懇請讀者批評指正!

方匡南

2014.8.1

相關詞條

熱門詞條

聯絡我們