當前位置:成語大全網 - 新華字典 - 怎麽學習用 R 語言進行數據挖掘

怎麽學習用 R 語言進行數據挖掘

什麽是R語言?應該如何開始學習/使用R語言呢?

學習R有幾個月了,總算是摸著了壹點門道。

寫壹些自己的心得和經驗,方便自己進壹步鼓搗R。如果有人看到我寫的東西而得到了幫助,那就更好了。

什麽是R?R的優點何在?

R是壹個數據分析軟件。簡單點說,R可以看做MATLAB的“替代品”,而且具有免費開源的優勢。R可以像MATLAB壹樣解決有關數值計算的問題,而且具有強大的數據處理,繪圖功能。

R擁有大量的統計分析工具包,我的感覺是——只有我們沒聽說過的工具,絕對沒有R沒有的工具包。配合著各種各樣的工具包,妳可以毀滅任何關於數據和統計的問題。因為數據包的數量龐大,所以查找自己需要的數據包,可能很煩惱。

如果有以下技能,學R會很方便:

1.已經了解些高級程序語言(非常重要)

2.英語不壞

3.概率統計理論基礎

4.看數據不頭疼

5.看cmd or terminal 也不頭疼

妳需要壹本適合妳的R語言教材

我開始學習R的時候,找到了這個帖子

非常強大的關於R語言教材綜述。我非常感謝原帖作者。妳可以參考這個帖子選壹本適合妳的教材。

我這裏在說壹下我主要使用的幾本教材的心得:

1. 統計建模與R軟件(薛毅著):非常優秀的R語言入門教材,涵蓋了所有R的基礎應用&方法,示例代碼也很優秀。作為壹本中文的程序語言教材,絕對是最優秀的之壹。但是要看懂這本書,還是需要“已經了解些高級程序語言”。PS:我親愛的吉林大學圖書館,有兩本該教材流通,我常年霸占壹本。

2. R in Nutshell:從講解內容上看,與上壹本差別不大,在R語言的應用上都是比較初級的入門,但是有些R軟件&語言上的特性,寫得比薛毅老師的教材深刻。這本書最大的優點就是工具書,方便開始入門時候,對有些“模棱兩可”的東西的查詢。PS:我將這本書打印了出來,簡單的從頭到尾翻過,最大的用途就是像壹本字典壹樣查詢。

3. ggplot2 Elegant Graphics for Data:這是壹本介紹如何使用ggplot2包,進行繪圖的書。ggplot2包,非常強大的繪圖工具,幾乎可以操作任何圖中的元素,而且是提供添加圖層的方式讓我們可以壹步步的作圖。提到ggplot2包,應該提到壹個詞——“潛力無窮”,每壹個介紹

ggplot2的人,都會用這個形容詞。這本書最大的作用也是當做壹本繪圖相關的工具書,書中講解詳細,細致,每個小參數的變動都會配圖幫妳理解。PS:這本書我也打印出來了,非常適合查詢。

幾個可以逐步提高R能力的網站

1.R-bloggers: 這裏有關於R和數據的壹切討論,前沿的問題,基礎的問題,應有盡有。可以說這些家夥們讓R變得越來越強大。我RSS了這個網站,每天都看壹下有什麽我感興趣的方法和話題,慢慢的積累壹些知識,是壹個很有意思的過程。

2.統計之都: 這是壹個有大量R使用者交流的論壇,妳可以上去提問題,總有好心人來幫助妳的。

3.R客: 是關於R的壹個博客,更新不快,偏重國內R的壹些發展。

R的使用環境

如果妳看見terminal or cmd就打怵的話,壹定要使用Rstudio。Rstudio的優點是,集成了Rconsole、腳本編輯器、可視化的數據查詢、歷史命令、幫助查詢等,還有的完美的腳本和console的互動。畢竟是可視化的界面,有許多按鈕可以用。R 的腳本編輯器很蛋疼,就比記事本多了個顏色高亮吧,不適合編寫腳本,但適合調試腳本。

最後,說壹下,剛開始學習R或者其他什麽語言,都有壹個通病,就是壹些小細節的不知道,或者是記得不清楚,往往壹個蛋疼的bug就可以耗掉大量的時間,這是壹個讓人想砸電腦的過程。我往後,會在博客裏記錄壹些讓我蛋很疼的小細節。本文分為6個部分,分別介紹初級入門,高級入門,繪圖與可視化,計量經濟學,時間序列分析,金融等。

1.初級入門

《An Introduction to R》,這是官方的入門小冊子。其有中文版,由丁國徽翻譯,譯名為《R導論》。《R4Beginners》,這本小冊子有中文版應該叫《R入門》。除此之外,還可以去讀劉思喆的《153分鐘學會R》。這本書收集了R初學者提問頻率最高的153個問題。為什麽叫153分鐘呢?因為最初作者寫了153個問題,閱讀壹個問題花費1分鐘時間,全局下來也就是153分鐘了。有了這些基礎之後,要去讀壹些經典書籍比較全面的入門書籍,比如《統計建模與R軟件》,國外還有《R Cookbook》和《R in action》,本人沒有看過,因此不便評論。

最後推薦,《R in a Nutshell》。對,“果殼裏面的R”!當然,是開玩笑的,in a Nutshell是俚語,意思大致是“簡單的說”。目前,我們正在翻譯這本書的中文版,大概明年三月份交稿!這本書很不錯,大家可以從現在開始期待,並廣而告知壹下!

2.高級入門

讀了上述書籍之後,妳就可以去高級入門階段了。這時候要讀的書有兩本很經典的。《Statistics with R》和《The R book》。之所以說這兩本書高級,是因為這兩本書已經不再限於R基礎了,而是結合了數據分析的各種常見方法來寫就的,比較系統的介紹了R在線性回歸、方差分析、多元統計、R繪圖、時間序列分析、數據挖掘等各方面的內容,看完之後妳會發現,哇,原來R能做的事情這麽多,而且做起來是那麽簡潔。讀到這裏已經差不多了,剩下的估計就是妳要專門攻讀的某個方面內容了。下面大致說壹說。

3.繪圖與可視化

亞裏斯多德說,“較其他感覺而言,人類更喜歡觀看”。因此,繪圖和可視化得到很多人的關註和重視。那麽,如何學習R畫圖和數據可視化呢?再簡單些,如何畫直方圖?如何往直方圖上添加密度曲線呢?我想讀完下面這幾本書妳就大致會明白了。

首先,畫圖入門可以讀《R Graphics》,個人認為這本是比較經典的,全面介紹了R中繪圖系統。該書對應的有壹個網站,google之就可以了。更深入的可以讀《Lattice:Multivariate Data Visualization with R》。上面這些都是比較普通的。當然,有比較文藝和優雅的——ggplot2系統,看《ggplot2:Elegant Graphics for Data Analysis》。還有數據挖掘方面的書:《Data Mining with Rattle and R》,主要是用Rattle軟件,個人比較喜歡Rattle!當然,Rattle不是最好的,Rweka也很棒!再有就是交互圖形的書了,著名的交互系統是ggobi,這個我已經喜歡兩年多了,關於ggobi的書有《Interactive and Dynamic Graphics for Data Analysis With R and GGobi》,不過,也只是適宜入門,更多更全面的還是去ggobi的主頁吧,上面有各種資料以及包的更新信息!

特別推薦壹下,中文版繪圖書籍有《現代統計圖形》。

4.計量經濟學

關於計量經濟學,首先推薦壹本很薄的小冊子:《Econometrics In R》,做入門用。然後,是《Applied Econometrics with R》,該書對應的R包是AER,可以安裝之後配合使用,效果甚佳。計量經濟學中很大壹部分是關於時間序列分析的,這壹塊內容在下面的地方說。

5.時間序列分析

時間序列書籍的書籍分兩類,壹種是比較普適的書籍,典型的代表是:《Time Series Analysis and Its Applications :with R examples》。該書介紹了各種時間序列分析的經典方法及實現各種經典方法的R代碼,該書有中文版。如果不想買的話,建議去作者主頁直接下載,英文版其實讀起來很簡單。時間序列分析中有壹大塊兒是關於金融時間序列分析的。這方面比較流行的書有兩本《Analysis of financial time series》,這本書的最初是用的S-plus代碼,不過新版已經以R代碼為主了。這本書適合有時間序列分析基礎和金融基礎的人來看,因為書中關於時間序列分析的理論以及各種金融知識講解的不是特別清楚,將極值理論計算VaR的部分就比較難看懂。另外壹個比較有意思的是Rmetrics推出的《TimeSeriesFAQ》,這本書是金融時間序列入門的東西,講的很基礎,但是很難懂。對應的中文版有《金融時間序列分析常見問題集》,當然,目前還沒有發出來。經濟領域的時間序列有壹種特殊的情況叫協整,很多人很關註這方面的理論,關心這個的可以看《Analysis of Integrated and Cointegrated Time Series with R》。最後,比較高級的壹本書是關於小波分析的,看《Wavelet Methods in Statistics with R》。附加壹點,關於時間序列聚類的書籍目前比較少見,是壹個處女地,有誌之士可以開墾之!

6.金融

金融的領域很廣泛,如果是大金融的話,保險也要被納入此間。用R做金融更多地需要掌握的是金融知識,只會數據分析技術意義寥寥。我覺得這些書對於懂金融、不同數據分析技術的人比較有用,只懂數據分析技術而不動金融知識的人看起來肯定如霧裏看花,甚至有人會覺得金融分析比較低級。這方面比較經典的書籍有:《Advanced Topics in Analysis of Economic and Financial Data Using R》以及《Modelling Financial Time Series With S-plus》。金融產品定價之類的常常要用到隨機微分方程,有壹本叫《Simulation Inference Stochastic Differential Equations:with R examples》的書是關於這方面的內容的,有實例,內容還算詳實!此外,是風險度量與管理類。比較經典的有《Simulation Techniques in Financial Risk Management》、《Modern Actuarial Risk Theory Using R》和《Quantitative Risk Management:Concepts, Techniques and Tools》。投資組合分析類和期權定價類可以分別看《Portfolio Optimization with R》和《Option Pricing and Estimation of Financial Models with R》。

7.數據挖掘

這方面的書不多,只有《Data Mining with R:learing with case studies》。不過,R中數據挖掘方面的包已經足夠多了,參考包中的幫助文檔就足夠了。