如何零基礎學習 R 語言?

本人金融學研一在讀,本科經濟學,本科學校開的編程課沒好好學,相當於編程完全零基礎。現在軟體除了會用stata做比較簡單的回歸,其他啥都不會。但是發現學習r語音對專業學習很有幫助,希望大家能給我一些建議,如何學習R語言。謝謝大家了


更詳細內容請移步

該如何學習 R 語言? - Evan 的回答

-----------------我是分割線---------------------

我當初學習R的時候在網上搜到一則流傳很廣的R語言學習路線圖(R語言學習由淺入深路線圖),我在微信圈,微信公眾平台上也見多次,寫的確實很詳細。但是對一些沒有編程經驗的童鞋來說,學習的難度還是太大了。後來自己瀏覽了很多R語言書籍,嘗試了一些門檻比較低的書籍。自此,R語言學習才走上正軌。以下涉及內容包括R語言書籍的推薦,以及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繪製統計圖的功能非常強悍,先上圖:

1. 著名的霍亂髮病地圖

2. 回歸曲線及其置信區間

3. 這個。。。亮點自己找

你見過的沒見過,想到的,沒想到的,都可以繪製出來哦。哈哈,心動不如行動,幾行代碼一敲,令人心神蕩漾的圖片就出來啦。

R繪圖非常簡單的,就是一個簡單的學習記憶的過程。R語言繪圖發展的非常快現在有三大繪圖系統,基礎繪圖系統,Lattice繪圖系統,ggplot2繪圖系統。雖然各有其使用價值,但個人推薦ggplot2繪圖系統以及基礎繪圖系統。 Lattice對於多分組的數據的展現比較好,但是ggplot2是可以很大程度上替代其功能,不學習也可以,非要用的時候依葫蘆畫瓢就可以了。下面主要介紹R的基礎繪圖系統和ggplot2繪圖系統的學習路線。

R基礎繪圖系統《R in Action》中,花了很大的篇幅介紹了基礎繪圖系統,如果學習完了,工作中碰到的很多統計圖就可以勝任了。如果你喜歡鑽研,可以看看謝益輝(Knitr包的作者)的《現代統計圖形》,講的非常詳細和透徹。不僅如此,更是講解了圖形的選擇,圖形的設計方面的知識。學有餘力,不妨學習一下。

ggplot2繪圖系統雖然ggplot2的作者寫了一本書《ggplot2. Elegant Graphics for Data Analysis》,但是理解起來比較困難,而且我們更關心的是如何繪製我們所需要的圖形。所以,我比較推薦他同事編寫的書《R graphics cookbook》一書。書中不僅有ggplot2的繪圖代碼而且還將其與基礎繪圖系統進行了比較。介紹的圖形非常實用,而且ggplot2的擴展性非常強,可以發揮你的想像力,創造一些新奇的圖形。

強烈推薦Swirl包,你值得擁有!


http://coursera.org 上面的R programming課非常好,學的也很快,利用課餘時間不出一周就能學完,可以打一個比較好的基礎。然後再要開發什麼軟體包,再去看軟體包的manual就可以了。

swirl: Learn R, in R. 或者點擊這裡,互動式的R入門。這個也是R programming那個課上推薦的,你要是不想看那個課,玩玩這個也行。


swirl的確是一個很好的學習工具,無論題主是什麼專業出身,用swirl入門R語言都是一個好選擇。

另外就是推薦《R in action》作為參考書,在跟著老師做項目的過程中有什麼不懂的可以參考這本書,在網上可以下到電子版。

加油,儘快行動起來吧。


.初級入門

《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是俚語,意思大致是「簡單的說」。這本書很不錯,廣而告知一下!


R是一門編程語言 完全沒有編程基礎學起來會很慢 因為你要花費大量精力去調試bug 建議先拿一兩個月時間起來c java python 任選一個找一下市面上最流行的視頻教程把編程的感覺找到,避免因為程序編寫中的低級錯誤影響你學習r的進度。很少有人能應對統計的學習和編程的學習雙重壓力。


推薦閱讀:

R語言數據可視化的包,除了ggplot2,recharts,shiny等包外,還有哪些很值得推薦的包?
如何使用 ggplot2 ?
輔修計算機的學生該怎麼找計算機相關的工作?
如何用R語言畫廣東省地圖(劃分出21個地級市的邊界)?
好看的數據可視化的圖片是怎麼樣做的?

TAG:金融學 | R編程語言 |