發表於2024-12-19
資深數據專傢凝煉數十年教學和實踐經驗,全麵闡釋如何使用R的20%功能完成80%的現代數據工作
通過開源R軟件,你可以構建強大的統計模型來解決許多極具挑戰性的難題。對非統計學傢來說,一直以來R都難於學習和使用,市麵上很多介紹R語言的書籍都假設讀者具有足夠的預備知識,但本書則不同。
本書融閤資深數據科學傢Jared P. Lander在教授R語言上的豐富經驗,通過大量實例,詳細講解R語言的核心功能。對剛接觸統計程序和模型的人來說,本書是一套堪稱完美的教程,其內容的組織結構使得學習R語言變得簡單和直觀。本書集中介紹R 20%的功能,但這20%的功能足以完成80%的現代數據工作。
通過閱讀本書,你將學到:
運用R處理數學問題:變量類型、嚮量、調用函數等
功能強大、常用的數據結構:數據框、矩陣和列錶
創建直觀的統計圖形
編寫自定義函數
分組操作提高效率
閤並和重塑多個數據集
使用R的工具操作字符串和正則錶達式
創建正態分布、二項分布和泊鬆分布
基本統計信息編程:均值、標準差以及t-檢驗
建立綫性、廣義綫性和非綫性模型
評估模型和變量選擇的質量
使用彈性網和貝葉斯方法防止過度擬閤
分析單變量和多變量時間序列數據
通過K均值和分層聚類對數據進行分類
用knitr準備報告、幻燈片和網頁
用devtools和Rcpp建立可重復使用的R包
《R語言:實用數據分析和可視化技術》是資深數據專傢數十年教學與實踐經驗的結晶,以簡單直接的方式詳細講解R語言的所有基礎知識,以及常見統計方法和模型在R中的操作規範,通過大量實例,幫助讀者快速理解並掌握R的核心功能,有效解決實際工作問題。
《R語言:實用數據分析和可視化技術》共24章,第1~3章介紹R語言的獲取與安裝、R環境的設置以及R包的基礎知識;第4~5章介紹R語言基礎知識和高級數據結構,涉及數學運算、嚮量、調用函數以及數據框、列錶、矩陣和數組等;第6章介紹如何導入數據;第7章詳細介紹統計圖形的繪製,包括基本繪圖和ggplot2;第8~10章介紹R函數編寫,包括對結構、參數和返迴規則的討論,講解if和ifelse以及復雜語句控製程序的流程、for和while循環迭代等;第11~13章介紹數據的分組操作、數據整理和字符串操作;第14~15章介紹概率分布與描述性統計;第16~20章介紹綫性模型、廣義綫性模型、模型診斷、正則化與壓縮以及非綫性模型等;第21章介紹時間序列和自相關;第22章介紹各種聚類方式,包括K-means和分層聚類;第23章討論可重復性、報告和利用knitr滑動展示;第24介紹如何創建R包
Jared P. Lander(賈裏德 P. 蘭德),資深數據專傢,Lander Analytics公司創始人兼CEO,紐約開源統計編程聚會組織者,哥倫比亞大學統計學客座教授。在數據管理、多層次模型、機器學習、廣義綫性模型、可視化、數據管理和統計計算等多個領域擁有豐富經驗。他緻力於為各種類型的科技創業公司提供培訓、融資、金融、醫療和人道主義救援等工作。他擁有哥倫比亞大學統計學碩士學位及瑞米倫貝格大學數學學士學位。
Contents
譯者序
序言
前言
緻謝
第1章 獲取R 1
1.1 下載R 1
1.2 R版本 2
1.3 32位與64位 2
1.4 安裝 2
1.5 R的社區版革命 8
1.6 小結 9
第2章 R環境 10
2.1 命令行界麵 11
2.2 RStudio 12
2.3 Revolution Analytics RPE 20
2.4 小結 20
第3章 R包 21
3.1 包的安裝 21
3.2 包的加載 23
3.3 創建一個包 24
3.4 小結 24
第4章 R語言基礎 25
4.1 基本數學運算 25
4.2 變量 26
4.3 數據類型 28
4.4 嚮量 33
4.5 調用函數 37
4.6 函數文件 38
4.7 缺失數據 38
4.8 小結 39
第5章 高級數據結構 40
5.1 數據框 40
5.2 列錶 47
5.3 矩陣 52
5.4 數組 54
5.5 小結 55
第6章 導入數據 56
6.1 導入CSV 56
6.2 導入Excel數據 57
6.3 讀入數據庫數據 58
6.4 導入其他統計工具數據 59
6.5 R二進製文件 60
6.6 包含在R中的數據 62
6.7 從互聯網上抓取數據 62
6.8 小結 63
第7章 統計圖形 64
7.1 基本圖形 64
7.2 ggplot2 66
7.3 小結 78
第8章 編寫R函數 79
8.1 hello world! 79
8.2 函數參數 80
8.3 返迴值 82
8.4 do.call 83
8.5 小結 84
第9章 控製語句 85
9.1 if和else語句 85
9.2 switch語句 88
9.3 ifelse語句 89
9.4 復閤檢查 90
9.5 小結 91
第10章 循環,Un-R方式的迭代 92
10.1 for循環 92
10.2 while循環 94
10.3 控製循環 94
10.4 小結 95
第11章 分組操作 96
11.1 apply函數族 96
11.2 aggregate 99
11.3 plyr 102
11.4 data.table 106
11.5 小結 114
第12章 數據整理 115
12.1 cbind和rbind 115
12.2 連接 116
12.3 reshape2 122
12.4 小結 125
第13章 字符串操作 126
13.1 paste 126
13.2 把格式數據寫成串(sprintf) 127
13.3 提取文本 128
13.4 正則錶達式 132
13.5 小結 138
第14章 概率分布 139
14.1 正態分布 139
14.2 二項分布 144
14.3 泊鬆分布 148
14.4 其他分布 150
14.5 小結 152
第15章 描述性統計 153
15.1 概括性統計量 153
15.2 相關係數和協方差 156
15.3 t-檢驗 163
15.4 方差分析 169
15.5 小結 171
第16章 綫性模型 172
16.1 簡單綫性迴歸 172
16.2 多元迴歸 177
16.3 小結 190
第17章 廣義綫性模型 191
17.1 邏輯斯蒂迴歸 191
17.2 泊鬆迴歸 194
17.3 其他的廣義綫性模型 198
17.4 生存分析 198
17.5 小結 202
第18章 模型診斷 203
18.1 殘差 203
18.2 模型比較 208
18.3 交叉驗證 211
18.4 Bootstrap 215
18.5 逐步變量選擇 218
18.6 小結 221
第19章 正則化和壓縮 222
19.1 彈性網絡 222
19.2 貝葉斯壓縮 235
19.3 小結 238
第20章 非綫性模型 239
20.1 非綫性最小二乘 239
20.2 樣條 241
20.3 廣義相加模型 245
20.4 決策樹 249
20.5 隨機森林 251
20.6 小結 251
第21章 時間序列和自相關 252
21.1 自迴歸移動平均模型 252
21.2 嚮量自迴歸 258
21.3 廣義自迴歸異方差模型(GARCH) 263
21.4 小結 270
第22章 聚類 271
22.1 K-means 271
22.2 PAM 277
22.3 分層聚類 282
22.4 小結 284
第23章 可重復性、報告和利用knitr滑動展示 285
23.1 安裝LATEX程序 285
23.2 LATEX初級 286
23.3 通過LATEX使用knitr 288
23.4 Markdown技巧 291
23.5 使用knitr和Markdown 292
23.6 pandoc 293
23.7 小結 295
第24章 創建R包 296
24.1 目錄結構 296
24.2 包文件 297
24.3 包文檔 302
24.4 包的檢查、創建和安裝 304
24.5 提交至CRAN 305
24.6 C++代碼 305
24.7 小結 310
附錄A 相關資源 311
The Translator’s Words 譯者序
R語言是集統計分析和繪圖於一身的麵嚮對象的開源軟件,其前身是貝爾實驗室所創的S語言。由於其強大功能和開源性,R廣泛運用於學術界和商業界。首先,相比於其他絕大多數商業軟件,R語言具有一個得天獨厚的優勢,那就是開源性。像Matlab和SAS這樣昂貴的商業軟件將很多需求者拒之門外。其次,R語言具有不亞於其他軟件的統計分析功能和繪圖功能。基本上目前所有的統計方法在R裏都有現成的包,或許令你絞盡腦汁的算法代碼早已存在。這是因為人們可以將其所寫的包放到R的主頁上與所有使用R的人共享,這非常有利於研究人員的交流,這也是其他語言所不具備的優點。此外,R語言的使用非常簡單。即使你沒有接觸過計算機語言,也能很快地學會R。近幾年,中國的R語言大會舉行的次數和參會的人數越來越多,尤其是業界人士占據瞭相當大比例。R語言正在飛快地融入業界,而且勢頭越來越猛。可以預見的是,R的應用場景將十分廣闊。
非常榮幸能夠翻譯本書。第一次接觸這本書時,就有很強的閱讀欲望,進而産生把它翻譯成中文的想法。這是一本覆蓋麵很廣、非常基礎的R語言和統計分析書籍,其內容幾乎包含瞭R語言的所有基本知識,並且涵蓋常見的統計方法和模型如何在R中實現。同時書中也包含一些比較新的知識。作者所采取的寫作方式非常簡單,在解釋代碼的作用之後,也給齣該代碼的正確輸齣結果,這種形式特彆有利於初學者學習。並且本書中包含瞭大量的實例,這讓一本計算機語言書籍顯得不那麼枯燥無味,而且可以使讀者有更深刻的印象。我相信讀者在閱讀本書的過程中是比較輕鬆愉快的。
除瞭本人之外,本書主要的譯者還有李好奇博士、柯睿博士和何葉博士。同時誠摯地感謝司亞卿副教授熱心的指導和幫助,感謝張萌玥同學所提的寶貴意見。全書譯文最終由我統稿。感謝各位譯者幾個月來的辛苦奮戰!我們都有一個共同的目標——將它推薦給國內更多的讀者。
由於該書涉及麵廣,譯者能力有限,難免存在錯誤或遺漏,歡迎讀者予以批評指正。
蔣傢坤
2014年於柳林
Foreword 序 言
在過去的3年裏,R語言的應用市場有瞭巨大增長。基於此,你可能會認為R是一個全新的、開始嶄露頭角的語言。令人吃驚的是,1993年就有R瞭。為何突然其人氣就暴增瞭呢?一些明顯的原因可能是數據科學作為一個職業和研究領域誕生瞭。但是數據科學的基礎已經存在幾十年瞭。統計、綫性代數、運籌學、人工智能和機器學習,所有這些都成瞭科學傢所使用的工具。R語言已經超過大部分語言,隻需要一個簡單的函數調用就可以完成大部分工具的功能。
R是許多數據科學工作中不可缺少的工具。許多對預測和分析非常有用的算法,在R中隻需要簡單的幾行代碼就可以完成,這使得R非常適閤解決現代數據所麵臨的挑戰。數據科學不僅僅隻和數學、統計有關,也不僅僅隻和編程、基礎結構有關。針對普通大眾讀者,這本書比較平衡地介紹瞭R的強大功能和豐富的錶現力。
我想不齣比Jared Lander更適閤寫一個R語言介紹的人。我和他第一次見麵是在2009年年末舉行的紐約城機器學習論壇上。那時候,紐約城機器學習論壇很小,隻需要一個小會議室就可以瞭,那時許多其他數據組織都還沒有建立。在過去的4年裏,Jared一直站在新型數據科學職業的最前沿。
通過管理開放統計編程聚會(Open Statistical Programming Meetup)、在活動中演講、在哥倫比亞大學教R課程,Jared以程序員、數據科學傢、記者、統計學傢等等身份幫助發展瞭許多論壇社區。但是Jared的專長不僅僅是教學。作為一個日常工作者,他也使用這些工具解決客戶谘詢中的各種問題。
這本書不僅介紹瞭R語言的編程,還介紹瞭日常R編程者所用的一些統計方法和工具。本書中的示例使用瞭一些公開的數據集,並且Jared對其進行瞭整理,然後放在自己的網站上(jared lander.com)。通過使用實際數據和建立實際有趣的問題,這本書將會非常實用。
Paul Dix
英文叢書編輯
前 言 Preface
隨著日常生活中數據應用變得越來越普遍,我們需要新的和更好的工具來應對這個趨勢。在傳統情況下,處理數據的方式一般有兩種:一是簡單輕便的,使用像Excel 或 SPSS 這樣的工具做定量分析;二是復雜繁重的,利用C++這樣的工具進行高性能分析。隨著個人計算機性能的提高,産生瞭一種既交互又強健有效的摺中方法。個人在自己的計算機上以探索性的方式所做的分析,很快就會轉變為傳遞到支撐高級業務流程的服務器的東西。這便是R、Python和其他腳本語言的領域。
R語言是由奧剋蘭大學的 Robert Gentleman 教授和Ross Ihaka教授於1993年開發的,其源自於貝爾實驗室John Chambers 所開發的S語言。它是一種高水平語言,最初的目的是進行交互式運算,即使用者輸入一個命令得到一個結果,然後再輸入下一個命令。它已經發展成為一種語言,這種語言也可以嵌入係統和解決復雜的問題。
除瞭轉換數據和分析數據,R語言還能很方便地産生令人驚喜的圖形和報告。它現在已經成為一個完整的體係,可以用於數據分析、提取和轉換,模型擬閤,描述推斷,預測,繪圖以及給齣報告結果。
自2000年末期以來,R語言的普及就像飛升的火箭一路飆升,它已經走齣瞭學術界,進入銀行業、銷售業、製藥業、政界、基因組學等其他許多領域。R語言的很多新用戶以前都使用一些低級編譯語言程序,比如C++和其他的統計包(例如SAS或SPSS),還有些之前使用“800磅重的大猩猩”—— Excel。這時期相應的軟件包的數量迅速飆升,這些軟件包是預先寫好的代碼庫,用於擴展R的功能。
盡管R有時會讓初學者感到畏懼,特彆是那些沒有編程經驗的人,但是我發現用編程分析來代替操作,學習過程很快就變得容易得多,而且更方便、更可靠。這正是我的目標:讓學習變得更快、更容易。
這本書內容的安排和布局是按照我在研究生院學習R時希望能夠被教導的方式來實現的。綜閤來說,這本書的目錄是結閤我在哥倫比亞大學所教的一門數據科學課程所形成的。這並不是意味著覆蓋R的每一個細枝末節,而在於用20%的功能去完成80%的工作。本書的內容包括如下章節。
第1章涉及從哪裏下載R,如何安裝不同的操作係統以及32位和64位版本的問題。該章還給齣瞭安裝R的路徑的一些建議。
第2章的內容包括如何整閤RStudio和Git,比如RStudio的個人定製和連接。
第3章涉及如何定位、安裝和加載R語言包。
第4章詳細說明變量的類型,如數字、字符、日期以及嚮量。該章還簡要介紹瞭調用函數和尋找函數文件的功能。
第5章介紹最強大和常用的一些數據結構,如數據框、矩陣和列錶。
第6章的內容涉及讀取數據到R中。數據在分析之前必須讀入R。目前有許多方法來讀入數據,包括CSV格式文件的數據和數據庫。
第7章的內容涉及統計圖形。圖形是數據初步分析和交流結果的一個關鍵部分。R語言能用其強大的繪圖工具繪製齣美麗的圖形。該章將詳細介紹基本繪圖和ggplot2。
第8章介紹使用自定義的函數,可重復性分析往往變得更加容易。該章討論結構、參數和返迴規則。
第9章介紹如何使用if和ifelse以及復雜的語句控製程序的流程。
第10章介紹使用for和while循環迭代。雖然這些通常令人沮喪,但是知道它們很
重要。
第11章的內容涉及群組操作。一個比循環更好的選擇是嚮量化。嚮量化並沒有用循環去遍曆數據,而是一次性,操作所有元素,這是更有效的,其主要使用apply函數和plyr包。
第12章介紹數據整理。閤並多個數據集,無論是通過疊加還是加入,通常有必要重塑數據。除瞭像rbind、cbind和merge這些基本的工具,plyr包和reshape2包也提供瞭解決問題的很好的辦法。
第13章介紹操作字符串。多數人不會將字符數據和統計聯係起來,但它是一個重要的數據形式。R提供瞭大量工具來處理字符串,包括閤並字符串和從中提取信息。該章將會正式詳細地介紹這些內容。
第14章介紹概率分布。全麵迴顧正態分布、二項分布和泊鬆分布。你需要記下許多分布的函數形式和錶達式。
第15章涉及基本統計。該章介紹瞭統計學的一些基礎知識,例如均值、標準差和t-檢驗。
第16章介紹綫性模型。綫性模型是統計中最強大和最常用的工具,該章將會詳細地介紹。
第17章涉及廣義綫性模型。綫性模型的擴展包括logistic迴歸和泊鬆迴歸。該章還會介紹生存分析。
第18章介紹模式診斷。用殘差、AIC準則、交叉驗證、自助法和逐步變量選擇來決定模型的質量以及變量選擇。
第19章介紹正則化和壓縮。使用彈性網格和貝葉斯方法來防止過度擬閤。
第20章涉及非綫性模型。當綫性模型不閤適時,非綫性模型是一個很好的解決方案。該章將討論非綫性最小二乘、樣條函數、廣義可加模型、決策樹和隨機森林。
第21章介紹時間序列和自相關。分析單變量和多變量時間序列數據的方法。
第22章涉及聚類。通過K-均值和分層聚類等多種方法來聚類,即對數據進行分組。
第23章涉及用knitr包進行可重復性(reproducibility)、報告和幻燈片展示。在R中很容易用knitr、LATEX和Markdown産生報告、幻燈片和網頁。
第24章涉及創建R包。R包是非常便攜、可重用的代碼。隨著devtools包和Rcpp包的齣現,構建R包已經簡單得令人難以置信。
附錄A包含進一步學習R的一係列資源,以及相互討論的一係列社區。
這本書中的大量文本都是R代碼或運行代碼的結果。代碼和運行結果通常在文本和集閤中以特殊的字體單獨分開,下麵給齣一個例子。不同代碼的不同部分用不同灰度的文字錶示。行代碼開始於“>”,如果代碼連續需要摺行,則第二行以“+”開始。
學習R是一個很愉悅的過程,能讓生活中許多工作變得容易得多。希望我們能一起來享受學習R的過程。
Acknowledgements 緻 謝
首先,我必須感謝我的媽媽Gail Lander,她鼓勵我選擇數學專業。沒有她的鼓勵,
R語言:實用數據分析和可視化技術 下載 mobi epub pdf txt 電子書 格式
R語言:實用數據分析和可視化技術 下載 mobi pdf epub txt 電子書 格式 2024
R語言:實用數據分析和可視化技術 下載 mobi epub pdf 電子書送貨很快,優惠不錯,滿意。
評分不錯。。。。。。。。
評分以曆史唯物主義和辯證唯物主義觀點和方法進行梳理、比較、分析研究和評論。主要選取民國北京政府和南京國民政府時期國傢層麵的文物、古物、古跡等政策法規文件,同時選取民國時期中國共産黨和邊區政府一些主要文物政策法規文件,分彆以年代為縱綫,以文物、古物、古跡等政策法規文件內容為橫麵,構建民國時期文物法規史框架,進行評論
評分R語言現在是很熱門的技術點,書的質量不錯,印刷清晰。
評分這個商品不錯這個商品不錯這個商品不錯
評分本書很係統
評分好書,好好學習。
評分應該是正版書籍。不錯。
評分快遞很給力昨晚買的今天就到瞭
R語言:實用數據分析和可視化技術 mobi epub pdf txt 電子書 格式下載 2024