本書通過簡單直觀的R代碼、逐漸深入的講解以及省時省力的方法,提供瞭大量數據分析樣例,終幫助你高效地解決各類數據問題。1章介紹瞭如何創建R函數,避免不必要的代碼重復。你會學到如何藉助R程序包在各種數據源上準備、處理和執行復雜的ETL操作。後麵的章節介紹瞭財務數據的時間序列分析,同時還介紹瞭機器學習的幾個熱點,例如數據分類、迴歸、聚類、關聯規則挖掘、降維等。本書的結尾中,你會學到如何解決實際問題,並能夠在數據分析過程中輕鬆地給齣解決方案。
推薦序
譯者序
前言
第1章 R中的函數1
1.1引言1
1.2 創建R函數2
1.3 匹配參數3
1.4 理解環境5
1.5 使用詞法域8
1.6 理解閉包10
1.7 執行延遲計算12
1.8 創建中綴操作符13
1.9 使用替代函數15
1.10 處理函數中的錯誤17
1.11 調試函數21
第2章 數據抽取、轉換和加載28
2.1 引言28
2.2 下載公開數據28
2.3 讀取和寫入CSV文件31
2.4 掃描文本文件32
2.5 使用Excel文件34
2.6 從數據庫中讀取數據36
2.7 爬取網絡數據38
2.8 獲取Facebook數據44
2.9 使用twitteR49
第3章 數據預處理和準備53
3.1 引言53
3.2 重命名數據變量53
3.3 轉換數據類型55
3.4 使用日期格式57
3.5 添加新的記錄58
3.6 過濾數據60
3.7 捨棄數據63
3.8 閤並數據64
3.9 排列數據65
3.10 重塑數據67
3.11 檢測缺失數據69
3.12 估計缺失數據71
第4章 數據操作74
4.1 引言74
4.2 使用data.table加強data.frame74
4.3 使用data.table管理數據77
4.4 使用data.table執行快速聚閤82
4.5 使用data.table閤並大型數據集85
4.6 使用dplyr進行數據抽取和切片88
4.7 使用dplyr進行數據抽樣91
4.8 使用dplyr選取列92
4.9 使用dplyr進行鏈式操作94
4.10 使用dplyr整理行95
4.11 使用dplyr消除重復行97
4.12 使用dplyr添加新列98
4.13 使用dplyr匯總數據99
4.14 使用dplyr閤並數據102
第5章 使用ggplot2可視化數據105
5.1 引言105
5.2 使用ggplot2創建基礎圖形106
5.3 改變美學映射109
5.4 引入幾何對象112
5.5 執行變換116
5.6 調整圖形尺度118
5.7 分麵120
5.8 調整主題122
5.9 組閤圖形124
5.10 創建地圖126
第6章 製作交互式報告131
6.1 引言131
6.2 創建R Markdown報告131
6.3 學習markdown語法135
6.4 嵌入R代碼塊137
6.5 使用ggvis創建交互式圖形140
6.6 理解基礎語法143
6.7 控製坐標軸和圖例148
6.8 使用尺度153
6.9 給ggvis圖形添加交互154
6.10 創建R Shiny文檔159
6.11 發布R Shiny報告164
第7章 概率分布模擬169
7.1 引言169
7.2 生成隨機樣本169
7.3 理解均勻分布171
7.4 生成二項隨機變量173
7.5 生成泊鬆隨機變量175
7.6 從正態分布中抽樣177
7.7 從卡方分布中抽樣183
7.8 理解學生t-分布185
7.9 從數據集中抽樣187
7.10 模擬隨機過程188
第8章 R中的統計推斷191
8.1 引言191
8.2 獲取置信區間191
8.3 執行Z-檢驗196
8.4 執行學生T-檢驗199
8.5 執行精確二項檢驗202
8.6 執行Kolmogorov-Smirnov檢驗203
8.7 使用Pearson卡方檢驗205
8.8 理解Wilcoxon秩和檢驗207
8.9 執行單因素方差分析209
8.10 執行雙因素方差分析212
第9章 R語言規則和模式挖掘216
9.1 引言216
9.2 把數據轉換為事務216
9.3 展示事務和關聯218
9.4 使用Apriori規則挖掘關聯關係220
9.5 對冗餘規則剪枝223
9.6 可視化關聯規則224
9.7 使用Eclat挖掘頻繁項集226
9.8 使用時序信息創建事務228
9.9 使用cSPADE挖掘頻繁序列模式231
第10章 R語言時間序列挖掘235
10.1 引言235
10.2 創建時間序列數據235
10.3 繪製時間序列對象238
10.4 分解時間序列241
10.5 平滑時間序列243
10.6 預測時間序列247
10.7 選取ARIMA模型251
10.8 創建ARIMA模型255
10.9 使用ARIMA模型預測257
10.10 使用ARIMA模型預測股票價格260
第11章 監督式機器學習264
11.1 引言264
11.2 使用lm擬閤綫性迴歸模型264
11.3 匯總綫性模型擬閤266
11.4 使用綫性迴歸來預測未知值268
11.5 度量迴歸模型的性能270
11.6 執行多元迴歸分析272
11.7 使用逐步迴歸選取最優擬閤迴歸模型274
11.8 應用高斯模型泛化綫性迴歸276
11.9 執行邏輯斯諦迴歸分析277
11.10 使用遞歸分割樹構建分類模型280
11.11 可視化遞歸分割樹282
11.12 使用混淆矩陣度量模型性能283
11.13 使用ROCR度量預測性能285
第12章 非監督式機器學習288
12.1 引言288
12.2 使用層次聚類法對數據聚類288
12.3 切割樹成聚類291
12.4 使用k-means方法對數據聚類293
12.5 使用基於密度的方法對數據聚類294
12.6 從聚類中抽取輪廓信息296
12.7 比較多種聚類方法298
12.8 使用基於密度的聚類識彆數字299
12.9 使用k-means聚類方法分組相似文本文檔301
12.10 使用主成分分析法進行數據降維303
12.11 使用陡坡圖確定主成分數量305
12.12 使用Kaiser方法確定主成分數量306
12.13 使用雙標圖可視化多變元數據308
?大數據、物聯網、人工智能已經變成近幾年最熱門的科技流行語。盡管大傢用很多名詞去定義這些技術,但是共通的思想是它們都是數據驅動的。人們並不滿足於簡單地擁有數據,因為發現其中的價值纔是最本質的。因此數據科學傢已經開始關注如何從原始數據中洞悉深層價值。
數據科學已經變成學術界和産業界最流行的話題。但是數據科學是一門非常寬泛的學科,學會掌握數據科學注定很有挑戰性。初學者必須學習如何準備、處理、聚閤和可視化數據。而更多高級技能包括機器學習,挖掘各種數據格式(文本、圖像和視頻),以及最重要的—使用數據産生商業價值。數據科學傢的角色需要大量的努力,同時,一名成功的數據科學傢也需要一個有力的工具來解決日常問題。
在這個領域中,數據科學傢使用最廣泛的工具是開源而且免費的R語言。作為一種機器語言,R提供瞭許多數據處理函數、學習庫和可視化函數,允許用戶快速上手分析數據。R可以幫助用戶快速執行分析,並在不需要懂得復雜數學模型細節的前提下執行機器學習算法。
本書給齣瞭實際方案,教你如何使用R語言將數據科學落地。全書共12章,每一章都分成幾個簡單的教程。通過每一個教程循序漸進的介紹,你可以使用R的程序包,掌握書中所教授的技術。
本書首先介紹如何創建R函數來避免不必要的代碼重復。你會學到如何使用R程序包,在各種數據源上準備數據、處理數據和執行高級ETL操作。數據操作的一個例子是介紹如何使用dplyr和data.table程序包有效地處理大型數據結構。還有一章關注ggplot2,介紹如何創建高級圖形,進行數據展示。你也會學到如何使用ggvis程序包構建交互式報告。
本書也會介紹如何使用數據挖掘技術發現經常一起購買的産品。後麵的章節還給齣瞭財務數據的時間序列分析結果。還有一些章節會深入介紹機器學習技術,包括數據分類、迴歸、聚類和降維。我可以保證,本書會讓你覺得,數據科學學習原來如此簡單。
主要內容第1章介紹如何創建R函數。該章會介紹R函數的基本構成、環境和參數匹配。我們還會介紹高級技術,例如閉包、函數式編程和如何處理錯誤。
第2章介紹如何使用R讀取結構化和非結構化的數據。該章首先介紹從文本文件中讀取數據。然後,介紹如何把R和數據庫連接起來。最後,你會學到如何編寫網絡爬蟲,爬取網頁和社交網絡上的非結構化數據。
第3章介紹分析前的數據準備工作。在該章中,我們會介紹數據預處理過程,使用基本的R函數,進行例如類型轉換、添加、過濾、捨棄、重塑和缺失值估計。
第4章介紹如何使用高級程序包data.table和dplyr有效而且高效地操作數據。data.table提供瞭快速加載和聚閤大型數據的可能。dplyr程序包提供瞭以類似SQL的語法操作數據的能力。
第5章介紹使用ggplot2可視化數據。首先介紹ggplot2的基本構成。然後,介紹高級技術,使用ggplot2函數創建復雜的圖形。最後,介紹如何使用ggmap構建地圖。
第6章展示如何使用R創建一份專業的報告。首先,討論如何使用Rmarkdown語法,嵌入R代碼塊。然後,介紹如何使用ggvis添加交互式圖錶。最後,介紹如何創建和發布RShiny報告。
第7章關注如何從不同的概率分布上抽樣數據。作為一個具體的例子,我們會介紹如何使用概率函數模擬隨機交易過程。
第8章首先討論點估計和置信區間。然後,介紹參數和非參數檢驗方法。最後,介紹如何使用ANOVA分析工程師的收入是否會隨著頭銜和地區的變化而不同。
第9章介紹用於發現交易數據中關聯項和暗藏的頻率模式的常用方法。在該章中,我們會使用一個實際例子,以便你可以學到如何在實際的數據集中執行規則和模式挖掘。
第10章首先介紹如何從財務數據集中創建和操作時間序列。然後介紹如何使用HoltWinters和ARIMA預測時間序列。該章會通過一個實際例子介紹如何使用ARIMA預測股票價格。
第11章介紹如何構建基於標注訓練數據的預測模型。你會學到如何使用迴歸模型理解數值關係,並使用擬閤模型進行連續值預測。對於分類任務,你會學到如何擬閤數據,生成一個樹形分類器。
第12章介紹未標注數據的隱含結構。首先,介紹如何使用聚類方法對位置臨近的旅館進行分組。然後,介紹如何使用PCA方法選取和抽取經濟自由度數據集中的特徵。
機器環境要學習本書中的例子,你需要一颱可以訪問互聯網的計算機,而且可以安裝R環境。你可以通過http://www.cran.rproject.org/下載R安裝文件。具體安裝信息可以在第1章中找到。
本書中的例子是在MicrosoftWindows和R3.2.4的基礎上編寫和測試的。這些例子也可以在MacOSX或者類似於UNIX的操作係統下,使用最新的R版本編譯通過。
讀者人群本書是麵嚮已經熟悉R語言的基礎操作,但是希望學習如何使用R程序包有效而且高效地分析現實世界數據問題的讀者。
行文結構在本書中,你會發現一些標題經常齣現(如準備工作、實現步驟、運行原理、更多技能和擴展閱讀)。
為瞭清楚地介紹如何完成每一個教程的學習,我們使用以下行文結構:
準備工作這個部分會告訴你當前教程需要的東西,並介紹如何安裝軟件和本教程所需的基礎環境。
實現步驟這個部分包括本教程所需的步驟。
運行原理這個部分通常包含對前一個部分的具體解釋。
更多技能這個部分包含本教程的額外信息,以便擴展讀者關於當前教程的知識麵。
擴展閱讀這個部分提供瞭指嚮其他有用信息的鏈接。
本書約定在本書中,你會發現文本有多種風格,以提供不同的信息。這裏給齣一些風格的例子,並給齣其中的含義。
程序包和函數名風格如下:“你可以安裝加載程序包RCurl”。
代碼塊設置如下:
>install.packages("RCurl")>library(RCurl)屏幕中的詞語,例如菜單或者對話框,文本做如下展示:”在R中,缺失值使用NA(不適用)標記,不可能的值用NaN(不是一個值)標記”。
樣例源碼下載你可以從http://www.packtpub.com通過個人賬號下載你所購買書籍的樣例源碼。如果你是從其他途徑購買的,可以訪問http://www.packtpub.com/support,完成賬號注冊,就可以直接通過郵件方式獲得相關文件。
你也可以訪問華章圖書官網http://www.hzbook.com,通過注冊並登錄個人賬號,下載本書的源代碼。
下載書中彩圖我們還為讀者準備瞭一個PDF文件,該文件包含瞭本書所有截圖和樣圖,可以更好地幫助讀者理解輸齣的變化。你可以從以下地址下載:http://www.packtpub.com/sites/default/files/downloads/RforDataScienceCookbook_ColorImages.pdf。
推薦序對於互聯網來說,當今是一個數據為王的時代。特彆是對於中國互聯網從業者來說,這個時代來得很快、很迅猛。Web2.0的到來讓用戶數據呈現齣爆炸式的增長態勢。如今,在搜索引擎、推薦係統、廣告投放、語音識彆、圖像識彆、自然語言理解、對話係統、交通物流、互聯網金融等領域都可以看到數據科學發揮功效的身影。而AlphaGo的勝利又掀起瞭人類對機器智能的大討論。數據科學讓人類在這個時代重新看到瞭0和1所蘊藏的巨大價值,找到瞭新的技術和戰略高地。
然而機遇總是與挑戰共存。海量數據通常意味著人們要花費巨大的精力纔能把數據轉變為價值,無論是數據記錄、數據處理、數據算法,還是數據可視化,每一個環節都會影響最後的産齣,而每一個環節都不能輕而易舉地完成。市麵上關於數據科學的書籍林林總總,最多的要數Python派和R派。Python派起源於工程人員,不管是理論還是實踐,讀者可選的種類還是很多的。而R語言是由統計學者開發的,其齣身和基因也決定瞭它在工程應用上的暫時落後,相關書籍也較少。對於我國數據科學從業者來說,R也是一門相對陌生的語言。聽說魏博在翻譯這本有關R語言開發應用的書籍,我非常欣慰。人們在R語言的實戰書籍中又多瞭一種選擇。同時,我也希望本書可以帶動大傢使用R進行實際開發的熱情。學科和行業的發展需要百傢爭鳴。數據科學的利器越多,挑戰和壁壘就會越容易攻剋,人們獲得數據價值的機會也就越大。
本書介紹瞭R語言在數據科學領域應用的方方麵麵,包括數據處理、數據操作、數據可視化、概率模擬、序列預測、頻繁項集挖掘、監督式算法和非監督式算法等。本書注重R語言程序包的介紹和使用,這可以讓讀者省去很多無謂的精力,避免“重復造輪子”。特彆是對於“唯快不破”的互聯網行業來說,能夠盡快使用成熟的開發包,是一件很幸福的事情。對於一名希望提升自己數據科學戰鬥力的讀者來說,這本書也是不二選擇。
魏博畢業於中國科學院數學所,讀博期間就開始主攻用戶需求建模和自動推理,後來負責阿裏巴巴優酷大文娛視頻搜索引擎的算法優化工作,目前在歐普拉軟件新聞推薦部門負責用戶畫像算法。他在理解用戶行為和用戶數據挖掘方麵有較深的造詣。同時他也是一名資深的R語言用戶和R語言傳播者。這本書的翻譯也是對他自身能力的考驗和體現。英文原版書有400多頁,他能夠在工作之餘,犧牲節假日,4個月來靜下心完成翻譯實屬不易。同時,R語言在國內的發展還有很長的路要走,特彆是一些麵嚮開發的技術術語的中文譯法還沒有達成廣泛共識,在翻譯過程中經常需要揣度和推敲。希望本書能夠成為廣大R語言數據科學愛好者共同閱讀、共同推廣的資源。
再次感謝魏博能夠把機械工業齣版社的優質外文資源翻譯成書。也希望這本書能夠成為大傢手邊時常翻閱的經典數據科學資料。
鬍睿前微軟資深研發總監現歐普拉軟件技術(北京)有限公司副總裁譯者序“數據科學”也許是近幾年最熱門的科技名詞。從各種各樣的互聯網應用到AlphaGo的勝利,世界正在見證著數據科學帶來的深刻影響。特彆是我國在“互聯網+”大潮推動下,海量數據每時每刻都在産生。無論是學術界,還是工業界,大量的科研人員都在這塊數據金礦上揮灑青春和汗水。從數據中發現規律並應用到産品開發或者戰略決策中,逐漸成為各行各業及各個企業公司的標準日常活動。同時,數據科學對於統計學、數據挖掘/機器學習算法,以及數據可視化等的需求也變得日漸迫切。一名掌握數據存儲知識、數據科學算法、數據項目管理和數據可視化技術的人員,通常是多傢用人單位的必爭之纔。
古語說:工欲善其事,必先利其器。處理海量、紛繁、動態的數據不是一件容易的事情。2013年,我在一篇科研論文上第一次結識瞭R語言。從那以後,我便開始瞭R語言道路上的各種探索。從最開始的編寫算法腳本,到後來執著於Rmarkdown的使用,再到後來開發Shiny小程序,以及在服務器上執行計算。對我來說,從來沒有一種語言讓我覺得在數據科學的道路上如此順暢和友好。然而,遍尋各種書籍和網上教程,很少有一份可靠的實踐開發資料可以讓讀者體會到實際項目的“火藥味”。很多書籍都在著重介紹R語言的基礎知識,對於實際開發和各種強大的程序包都鮮有係統的介紹。這與R語言在我國的普及和發展程度不無關係。我想是時候推齣一本書,讓大傢見識R語言和程序包的超強能力瞭。
本書便是一本注重R語言程序包實際應用的書籍。本書結構嚴謹,闡述通俗易懂,內容涵蓋瞭R語言的絕大多數應用場景。同時,對於眾人皆知的基礎知識,本書不再贅述;對於一些高級技術,本書還提供瞭一些擴展閱讀的資料,供學有餘力的讀者鑽研探討。值得提齣的是,本書的作者丘祐瑋是中國颱灣地區活躍的數據科學傢。他不僅擁有自己的數據科學公司,同時還服務於各大數據科學論壇,與中國大陸的數據科學工作者也有閤作,是一位理論與實踐並重的數據科學傢。相信每一位讀者都可以通過這本書學習到他的寶貴經驗。
2016年9月,我受機械工業齣版社的委托,承擔本書的翻譯工作。整個翻譯過程曆時4個月。這個過程也是自我溫習、自我提高的過程。特彆是
對於我這種對統計學背景略顯薄弱的讀者來說,這本書的齣現無疑是一場及時雨。它並沒有假設讀者已經具備深厚的數理統計功底,而是在講解數據科學方法的同時,非常自然地融入瞭必要的統計學概念。作者用一種非常生動和易於理解的方式,解釋瞭那些看似復雜的統計檢驗、概率分布等原理,並且通過R語言的實現,讓我能夠親身體驗這些理論是如何轉化為實際分析工具的。比如,在講解假設檢驗時,書中不僅給齣瞭R語言的代碼,還詳細說明瞭每一步的含義,以及如何解讀p值和置信區間。這種“理論+代碼+解釋”的模式,極大地降低瞭統計學學習的門檻,讓我不再感到畏懼。我感覺自己不僅學會瞭如何使用R語言進行數據分析,更重要的是,我對數據科學的核心理論有瞭更深刻的認識,這對我未來的學習和工作都將非常有幫助。
評分這本書的案例分析部分是我最看重的內容之一。作者選取瞭多個不同領域、不同類型的數據集,通過R語言一步步地展示瞭如何從零開始構建一個完整的數據分析項目。無論是市場營銷數據的用戶畫像分析,還是金融數據的風險預測,亦或是醫療健康數據的疾病趨勢研究,每個案例都涵蓋瞭實際應用中的各種挑戰和考量。我特彆欣賞的是,書中不僅展示瞭成功的分析過程,也誠實地指齣瞭在分析過程中可能遇到的睏難和局限性,以及如何去解決它們。例如,在處理缺失值或者異常值時,書中提供瞭多種不同的策略,並分析瞭各自的優缺點。這種貼近真實世界的案例剖析,讓我能夠看到數據科學在現實世界中的具體應用,也讓我對如何規劃和執行自己的數據分析項目有瞭更清晰的思路。
評分這本書的裝幀設計相當吸引人,封麵上那種抽象的數據流和代碼元素的結閤,非常有科技感,也恰到好處地傳達瞭“數據科學”的主題。拿到手的那一刻,就能感受到紙張的質感,不是那種過於光滑的銅版紙,而是略帶啞光,摸起來很舒服,印刷清晰,字號也適中,長時間閱讀不易疲勞。我尤其欣賞它在細節處理上的用心,比如書脊的粘閤緊實,翻頁也很順暢,不會齣現那種容易散架的感覺。封麵配色沉穩而不失活力,整體給人一種專業、值得信賴的印象。作為一名初學者,我之前也接觸過一些技術類的書籍,但這本書的視覺呈現明顯更勝一籌,它讓“數據科學”這個略顯枯燥的領域變得生動起來,激發瞭我深入探索的興趣。即使隻是擺在書架上,它也是一件非常不錯的擺設,能體現齣主人對技術和知識的追求。我期待它能像它的外觀一樣,內容也同樣精彩,能夠引領我一步步踏入數據科學的世界。
評分讀完這本書,我最大的感受就是它在理論與實踐之間的平衡做得非常齣色。它沒有停留在空泛的概念講解,而是巧妙地將抽象的統計學原理、機器學習算法融入到具體的R語言代碼實現中。每一個章節都仿佛是在帶領讀者進行一次實操演練,從數據的加載、清洗,到特徵工程、模型構建,再到結果評估和可視化,流程清晰,步驟明確。書中提供的代碼示例都經過精心設計,貼近實際工作場景,而且作者在解釋代碼邏輯時,也考慮到瞭不同背景讀者的理解能力,語言通俗易懂,避免瞭過多的專業術語堆砌。我尤其喜歡書中關於數據可視化部分的講解,那些圖錶不僅美觀,更重要的是能夠直觀地揭示數據背後的故事,這是數據分析的關鍵所在。這本書就像是一位經驗豐富的朋友,手把手地教你如何使用R語言解決實際問題,讓你在動手實踐中鞏固理論知識,獲得成就感。
評分從這本書的整體結構來看,它呈現齣一種非常嚴謹且循序漸進的學習路徑。開篇從R語言的基礎知識入手,逐步過渡到數據處理、探索性數據分析(EDA),然後是核心的模型構建與評估,最後觸及瞭模型部署和案例應用。這種編排方式非常符閤人類的學習認知規律,能夠讓讀者在掌握基礎概念後,自然而然地進入更復雜的領域,而不會感到突兀或 overwhelmed。我尤其欣賞作者在章節之間的過渡處理,邏輯清晰,銜接自然,仿佛是在講述一個完整的故事。書中的圖錶使用也恰到好處,既能輔助理論的闡述,又能直觀地展示分析結果,極大地提升瞭閱讀體驗。雖然我還沒有完全讀完,但僅從其組織結構和內容邏輯來看,這本書無疑是一本精心打磨的優秀教材,值得每一個想要深入學習數據科學的讀者擁有。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有