R語言——初步認識

R語言——初步認識

來自專欄 R語言中文社區4 人贊了文章

作者簡介

勾蒙蒙,R語言資深愛好者。個人公眾號: R語言及生態系統服務。

接觸R至今已有近3年時間,期間斷續摸索了一些知識,但仍不全面、系統,期待通過此公眾號與大家互相學習,交流經驗,從中有所得,有所獲!所有的軟體學習均需遵循從哪來,是什麼,怎麼用的規律。在一切學習之前有必要對R有一個初步的了解。

1、R的前世今生與未來?

起源:

u R語言是從S統計繪圖語言演變而來,可看作S的「方言」。

uS語言上世紀70年代誕生於貝爾實驗室,由Rick Becker, John Chambers, Allan Wilks開發。

u基於S語言開發的商業軟體Splus,可以方便的編寫函數、建立模型,具有良好的擴展性,在國外學術界應用很廣。

u1995年由紐西蘭Auckland大學統計系的RobertGentleman和RossIhaka,基於S語言的源代碼,編寫了一能執行S語言的軟體,並將該軟體的源代碼全部公開,這就是R軟體,其命令統稱為R語言。

趨勢:

R語言從最初以統計和繪圖為目的的計算機語言可以在這麼長的時間發展中依然歷久彌新,在可預見的未來R語言一定會在數據處理和圖形展示方面發揮更大的作用。TIOBE近日發布的4月變成語言排行榜中,可見R的排名有逐漸上升的趨勢,與R語言相關的工作也越來越多,R語言的市場不可謂不廣泛!

2、R的優勢?

R與其他統計軟體的比較:

?SAS:速度快,有大量統計分析模塊,可擴展性稍差,昂貴。

?SPSS:複雜的用戶圖形界面,簡單易學,但編程十分困難。

R的獨特之處:

GNU軟體:免費、軟體本身及程序包的源代碼公開。

強大的製圖功能:如果你希望複雜數據進行可視化,R無疑是首選。

豐富的資源:涵蓋了多種行業數據分析中幾乎所有的方法。

良好的擴展性:十分方便得編寫函數和程序包,跨平台,可以勝任複雜的數據分析、繪製精美的圖形。

完備的幫助系統:每個函數都有統一格式的幫助,運行實例。

下圖展示R製圖功能的示例。

選擇UCI的一個數據集,包含13種汽車車型的相關指標,共398個樣本。選可行駛的公里數MPG作為因變數y,排氣量displace、馬力horsepower、自重weigh為自變數,進行多元統計分析,首先生成的三點矩陣圖在R中簡單代碼就可以實現:

scatterplotMatrix(~mpg+displacemen+horsepower+weight,data=data,main="散點矩陣圖")

3、為什麼生態學者要學習R?

隨著生態學觀測手段的不斷發展與更新,大數據是當今生態學發展的趨勢。近幾年來,R語言成為了生態學領域較為流行的軟體,特別是在森林樣地的處理、地理信息技術和空間處理、統計繪圖等領域。面對海量的數據,要求生態學領域研究者從數據的整理清洗、綜合分析及精細製圖方面對數據進行全面統計,而往往R語言的使用不僅方便了數據的處理,更有利於高質量論文的發表。如群落生態學中的數據一般情況下是多維數據,R語言中的Vegan程序包可以進行多元統計分析,計算alpha和beta多樣性,PCA,RDA,CCA排序及方差分解,物種多度曲線也只需要一個簡單的函數就可以完成,結果的可視化極高。

(來源於:基於 Vegan 軟體包的生態學數據排序分析)

在論文的發表方面,R語言在論文中使用的頻率也越來越高。賴江山對2012-2016年以來的20種影響因子3以上的生態學雜誌中的20325篇研究論文使用語言作為數據分析工具的情況進行了匯總,可見近5年來,生態學研究論文使用R語言作為分析工具比例呈現快速增長趨勢,並在2016年已經超過50%,占居半壁江山,以不爭的事實說明R語言已經成為生態學研究中最主要的數據分析工具。

2012-2016年來20種SCI生態學雜誌所發表的研究論文使用R語言作為數據分析工具的比例趨勢

相較於國外的雜誌,國內的生態學刊物內論文選擇R作為數據分析工具的比例則明顯的不如。《生態學報》、《植物生態學報》、《生物多樣性》和《應用生態學報》近5年來所發論文R語言使用比例雖然逐漸的上升,但其動力仍舊不足。

國內生態學相關刊物所發論文使用R語言作為數據分析工具的趨勢

4、如何學習R?(後續會再進行補充)

關於R語言的一些學習資料,有如下推薦:

R官網:r-project.org/

幾本書:《R語言實戰》、《統計建模與R軟體》、《現代統計圖形》、《數量生態學—R語言的應用》

微信公眾號:R語言中文社區、摸著石頭學R語言、數據小魔方、EasyCharts、薈萃大數據

R學習網站:統計之都、The R journal、Planet R等

註:文章不當之處,請多批評指正!


推薦閱讀:

我分析了70萬局「吃雞」數據,找到了其中的3個秘密
大數據,到底能幫你做什麼?
flume 1.8 安裝部署
自學數據分析的學習計劃
記錄我是如何轉型大數據分析(二)——iris

TAG:R編程語言 | 數據分析 | 數據可視化 |