R語言學習路徑和感受

第一次接觸R語言是我讀研的時候,算到現在有5年多了。R語言可以算得上是我進入編程世界的啓蒙語言,儘管在大學期間爲了考試而被迫學習過計算機二級,但那真心是沒有一丁點的興趣可言。進入R的世界後,真的越來越喜歡,可以幫助我解決學術研究過程中的很多探索,最起碼讀研期間的所有小論文和畢業論文的案例分析都是通過R語言完成的。工作後,數據分析、可視化和數據挖掘的落地更是通過R語言幫我實現的,她對我的學習和工作起到了很大的幫助

2015年2月份畢業開始了一份正式的工作,半年多後突然產生一個想法,就是把自己在工作中的所學所用通過公衆微信號(lsxxx2011)記錄下來,並給自己的公衆號起名“每天進步一點點2015”。到今天已維護了近2年半的時間,積累了近160篇文章,也結識了很多對數據分析、挖掘感興趣的朋友。曾經有好多朋友都向我問起過一個類似的問題:“我是***,對數據分析很感興趣,但目前是R語言的小白,也自學了一段時間,但總感覺使不上力,有沒有比較好的學習方法?”就抽空來講一講我學習R語言的過程,希望對處於迷茫或困惑的朋友起到一點幫助。接下來,我就從以下幾個方面來講講我學習R語言的經歷:

 

基礎篇

       我接觸R語言的第一本書是薛毅老師的《統計建模與R軟件》,這本書個人感覺非常棒,至少有這三方面的優點首先,該書將統計學裏面的基礎知識和理論都作了比較詳細的剖析;其次,也詳細介紹了R軟件本身的基礎知識,如語法、數據結構、數據讀取、控制流等;最後但也是最重要的,運用R軟件(很多情況都不是直接調包)將統計學模型的原理作了相應的代碼實現,包括統計檢驗、線性迴歸、方差分析等。這本書我看了至少2遍,但對於R語言的初學者並不建議將這本書當作學習的第一本書

       《R語言實戰》,這是一本非常好的初學R語言的資料,而且該書在今年也更新到了中文版的第二版。之所以首推這本書作爲初學教程,是因爲這本書偏實戰,而非理論,你可以通過這本書提高R軟件的使用技能,該書包括R軟件編程基礎、可視化作圖和統計建模等內容。這本書我至少也看了2遍,書中包含了各式各樣的R軟件包和函數的使用,要想記住這些內容還不得不多敲代碼。

       《R語言數據操作》,是一本頁數非常少的書籍,但都是精華。書中沒有任何關於統計學相關的內容,都是在討論數據集的管理,如缺失值處理、數據讀取、日期數據的處理、正則表達式、數據彙總等。通過閱讀和學習這本書,相信在數據預處理這塊會對你有很大的提升,我曾經針對這本書的每一章內容作了整理,並分享到公衆號中,對我本身而言,也是一個提升的過程。

       當然,網上也有很多其他初學者資料,如《153分鐘學會R》、《R語言經典入門_2012》、《R語言初學者指南》、《RCookbook》等。

 

可視化篇

       在學習R軟件的同時,你肯定會碰到關於使用R軟件來完成數據的可視化操作,確實,R軟件也是一款非常棒的可視化工具,包含了各種各樣的可視化包,如graphics、lattice、plotrix、plotly、ggplot2等等。關於這一塊內容的學習,你可以根據上面提到的書籍《統計建模與R軟件》、《R語言實戰》、《R Cookbook》等初識一下可視化,瞭解R軟件基礎包中是如何實現數據可視化(儘管每一個繪圖函數都包含很多參數),這樣會對你的繪圖思維帶來好處。如果要推薦幾本數據可視化的書,我會強烈推薦《ggplot2:數據分析與圖形藝術》《R數據可視化手冊》

第一本書是ggplot2包的開發作者所編著的,在R中ggplot2也是非常火爆的可視化包,書中詳細介紹瞭如何利用圖層的思想繪製完美的統計圖形,有系統的繪圖組件,如geom_*函數、stat_*函數、sacle_*函數及theme類函數。這本書更多的是從繪圖思想和理論出發,介紹ggplot2包的龐大功能(當然也有很多繪圖案例)。

第二本書則彌補了第一本書的輕鬆感,說實話,我讀《R數據可視化手冊》的次數要比《ggplot2:數據分析與圖形藝術》多一些,因爲該書通過非常多的例子來對比基礎包與ggplot2包在繪圖方面的差異,既讓我鞏固了基礎包的繪圖方法,也提升了我對ggplot2包的濃厚興趣,目前工作中涉及到基本統計圖形(如條形圖、直方圖、折線圖、散點圖等)的繪製,我都是優選ggplot2包來完成。當然,我也把ggplot2包中常見的繪圖功能作了整理,並以系列的形式分享在了公衆號中。

謝益輝整理的《現代統計繪圖》、肖凱的PPT《30分鐘學會ggplot2》及英文版的《R語言之多變量數據可視化--Lattice》都是比較好的可視化學習材料。

 

數據挖掘篇

       上面介紹的這些書更多的都是從數據分析角度,如果你想提升自己,研究一些目前比較火的數據挖掘知識,R語言同樣提供了出路。這裏介紹幾本我看過的相關書籍,它們是《數據挖掘:R語言實戰》《機器學習與R語言》《R語言數據分析與挖掘實戰》《數據挖掘概念與技術》《統計學習方法》

       前面三本書都是基於R語言工具的數據挖掘實戰,內容包含了常見的數據挖掘方法,如Knn、Logistic迴歸、決策樹、樸素貝葉斯、神經網絡、SVM、隨機森林、Bagging、Adboosting、K均值聚類、密度聚類、EM聚類、關聯規則等,每一種挖掘方法都配備了詳細的數據案例,甚至也會解釋挖掘函數中重要參數的含義和使用方法。當你讀完這幾本實戰類的書,你就會發現通過R語言的調包來完成數據挖掘是特別簡單的。此時,我相信你一定會對數據挖掘的理論感興趣(最起碼,你在實戰數據挖掘的過程中你會反問自己爲什麼這個參數這樣調整會更好?),因爲你或多或少的感覺到你遇到了瓶頸,你想更往上走一步,但又力不從心。此時,你需要的是數據挖掘理論方面的材料來給充實自己,給自己補充能量。那這就是我接下來要跟你介紹的另兩本理論書籍。

《數據挖掘概念與技術》這本書雖說是理論方面的書籍,但讀起來還是蠻輕鬆的。書籍中的挖掘部分,首先介紹挖掘方法的概念和理論知識,然後通過某些數據集來完成手工計算的過程,對於讀者來說,具有代入感,學習起來也會比較有勁。這本書相對於《數據挖掘導論》來說會稍微難一點,如果你對自己沒有信心,可以先看看《數據挖掘導論》這本書。

《統計學習方法》是一本完全偏理論的書籍,包含了很多算法的推理過程,如knn算法、貝葉斯算法、決策樹算法、支持向量機算法等,這些推理對讀者的數學知識要求比較高,如線性代數、微積分、概率論等。如果你能夠靜下心來對整本書的推理進行一遍梳理(哪怕是抄一遍),我相信你一定會受益匪淺,對數據挖掘的理解會更加深刻。

 

其他學習資源

       除了上面所提及的書本(幾乎每本書我都看了至少兩遍),網絡上還有更多的習資源,如視頻網站、論壇、博客、社區等。接下來我跟大家介紹幾個我常去的免費資源:

統計之都https://cosx.org/,裏面有非常豐富的高質量文章,包含數據挖掘、可視化、統計學、分析報告等;

統計之都論壇https://d.cosx.org/,如果你有學習上的疑問,你可以在論壇上提問,熱心的網友也會給出他們的答案;同樣,你也可以看別人提出的問題,嘗試回答或查看別人的回覆,進一步提高自己的R語言技能;

R語言官網https://www.r-project.org/,官網中有一些不錯的學習手冊,同時也會定期更新R語言包,截止到寫稿目前已有11,899個第三方包,使用R真的就是站在巨人的肩膀上;

經管之家http://bbs.pinggu.org/,網站中有專門R語言論壇,其性質跟統計之都論壇相似,可以互動,相互學習;當然該網站還有其他學習資源,如SAS、計量經濟論壇、Python論壇等;

中國統計網http://www.itongji.cn/cms/article/index,網站中有非常多的好文,包含數據運營、數據分析、數據挖掘、乾貨分享等欄目;

Github官網:https://github.com/,在這個網站上你可以查到很多別人做過的項目案例,含有R語言代碼,通過一步步學習,能夠提高R語言編程技能 ;

Kaggle官網https://www.kaggle.com/,這是一個提供數據挖掘比賽的網站,你既可以查看別人提交的作頁,也可以通過報名比賽來提高自己的實戰能力;

 

       儘管有如此多的優秀學習資料,但不要貪杯,在學習過程中一定要各個擊破(一本一本的用心看,用心記,用心敲代碼),系統學習。如果你想學好R語言這個工具,千萬不要着急,基礎很重要,否則基礎剛學一半就去看高級的或看別人的比賽代碼,我相信你還會被打回原形。而且學習還是一個堅持的過程,堅持記得學習;堅持寫寫心得;堅持將每一個知識點串起來嘗試替代你最拿手的工具(如Excel,SPSS等)。加油!“革命尚未成功,同志仍需努力!

OK,到此就分享的差不多了,我在學習R語言的過程中,看書是一方面另一方面要通過書籍中的知識點去想想我會在哪些場景下去使用,怎樣使用;同時,通過查看大量的文章(論壇,博客)來學習別人所分享內容的思想、步驟和結論。作爲數據分析或挖掘工作者,技能是一方面,另一方面是關於如何培養好自己的分析思維,畢竟技術這個東西是很容易替代的,而思維纔是屬於自己的,纔是自己有別於其他人的地方。

本次分享中,所提及的所有書籍我都已經整理好,如果你需要的話,歡迎關注我的公衆號(lsxxx2011)或(每天進步一點點2015),並回覆R語言書籍”,即可獲得下載鏈接。歡迎更多的朋友能夠與小編一起學習,互相監督,取長補短,最終達到自己理想的目標狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章