零基礎學習R語言數據分析
經典書籍推薦
R語言有兩類書籍比較「坑」,一類是Programming類,一般都帶programing字眼,但不絕對。這類書籍一般是計算機背景的人寫的,關注的重點是編程(寫代碼和編程不是一碼事),底層的運行機制之類的,比較難以捉摸,典型的例子是《The art of R programming》。還有一類是講統計知識比較多,而且喜歡推公式。雖然有所裨益,但是會分散很多學習R的精力,可以作為後期提高的書籍,但是作為入門不太合適,像《The R book》。
講完了「不好的」R的學習資料,可以規避一些「誤入歧途」的風險。下面介紹一下我覺得比價有用的學習資料。學習任何語言的捷徑就是Learn by dirty。這裡推薦一個網站,code school的Try R 課程,非常基礎,從最基本的語句的賦值到最後的數據框的基本操作,手把手一步一步的教你,然後對你輸入的語句,網頁會給出判斷,如果寫錯了,還有很詳細的解釋。網頁全部是英文的,英語過了四級的童鞋應該可以應付了。 R的入門書籍,比較好的是Learning R , 中文名是《學習 R》。第一章到第五章的數據的基本入門,必須要細看的,而且要讀好幾遍的,這是R的最基本的東西,需熟練掌握,多家練習。別覺得看懂就行了,只有自己敲出來運行正確才行。第六章環境和函數這一章建議直接跳過,比較抽象,等回頭R學的差不多了,再回頭看比較好。大多數人,平時基本不涉及到這一樣的內容。第七章 字元串和因子也是很重要的一章,特別是醫學領域。第八、九章的循環,量力而行。第八章的內容其實大多數其他編程語言都會涉及。但是在R裡面,這些顯循環,用的較少。其實主要還是向量化的操作為主,也稱隱循環。第九章的隱循環非常有用,是R最精華的東西,就是學習起來有點困難。其主要內容是 apply族函數,包括lapply, sapply, tapply, apply, mapply等。這本書最優秀的地方在於數據的subset部分,各種方法講的非常詳細,也有很多的例子。這也是R語言比較難入門的地方。《R in Action》 確實一本非常優秀的書籍,我看喝多大神都推薦這麼書,我大概學了一遍,確實非常不錯。這本書非常好的地方在於圍繞具體的問題展開,教你如何利用R進行操作,而且選取的例子也非常具有代表性,所以建議每個例子都要詳細研究。但是這本書學習曲線比較陡峭,可能上一章的內容還沒有消化,又要開始新的內容了。遇到問題時建議多點耐心,谷歌或者請教別人,把這些知識點掌握了,這是R的基礎。
還有一本書,《R cookbook》,這本書是圍繞具體的問題進行設置的。所以可以作為一個遇到困難時候的快速翻閱手冊,裡面特別有用的章節是如何運用apply組函數,上面兩本書都講得不是很詳細。R繪製統計圖的功能非常強悍(你見過這麼令人心神蕩漾的圖嘛!)你見過的沒見過,想到的,沒想到的,都可以繪製出來哦。哈哈,心動不如行動,幾行代碼一敲,令人心神蕩漾的圖片就出來啦。R繪圖非常簡單的,就是一個簡單的學習記憶的過程。R語言繪圖發展的非常快現在有三大繪圖系統,基礎繪圖系統,Lattice繪圖系統,ggplot2繪圖系統。雖然各有其使用價值,但個人推薦ggplot2繪圖系統以及基礎繪圖系統。 Lattice對於多分組的數據的展現比較好,但是ggplot2是可以很大程度上替代其功能,不學習也可以,非要用的時候依葫蘆畫瓢就可以了。
下面主要介紹R的基礎繪圖系統和ggplot2繪圖系統的學習路線。R基礎繪圖系統《R in Action》中,花了很大的篇幅介紹了基礎繪圖系統,如果學習完了,工作中碰到的很多統計圖就可以勝任了。如果你喜歡鑽研,可以看看謝益輝(Knitr包的作者)的《現代統計圖形》,講的非常詳細和透徹。不僅如此,更是講解了圖形的選擇,圖形的設計方面的知識。學有餘力,不妨學習一下ggplot2繪圖系統, 推薦《R graphics cookbook》一書。書中不僅有ggplot2的繪圖代碼而且還將其與基礎繪圖系統進行了比較。介紹的圖形非常實用,而且ggplot2的擴展性非常強,可以發揮你的想像力,創造一些新奇的圖形。 (R語言書籍全家福)R語言學習網路課程推薦:1. Datacamp,learn by coding類型的網站,課程設置非常用心,難度合適,內容豐富,最好的R語言學習網站之一。
(Swirl包開發者畢業後就去了麥肯錫諮詢公司了。)
P.S.: 衷心感謝大家的讚賞,這是對我最大的肯定(網費有著落了)。
推薦閱讀:
※R語言可視化——REmapH(中心熱度圖)
※RCurl中這麼多get函數,是不是一直傻傻分不清!!!
※R語言抓取《歡樂頌2》熱聞
※Learn R | Association Rules of Data Mining(二)
※如何用R語言計算形態坐標矩陣的質心距離?