當前位置:
首頁 > 最新 > R語言介紹與基礎

R語言介紹與基礎

【作者】華玉為,就讀於蘇州大學生物信息專業,同時輔修計算機雙學位 ,對生物和編程具有濃厚興趣。

【責編】陳玫君

作為科學工作者和學習者,一旦提到統計作圖,必然繞不開一種計算機語言——R語言。R作為一種用於統計分析、繪圖的自由、免費、源代碼開放的軟體。無論是對於新手小白還是熟練老手來說它都是一個優秀且不可替代的工具。

小編就常常使用R語來做一下簡單的統計學應用,倒不是說對R語言情有獨鍾,而是R語言有她獨特的吸引力。雖然Python,SAS等語言也可以提供相同的功能,但是R語言的種種優點還是促使我去學習使用它。而且就近年來的趨勢而言,R語言也將會成為在統計學方向上的計算機語言主力軍。

計算機語言排名(部分)

在網路上有很多關於R語言優點的介紹,但是對於一個像我一樣的使用者和學習者來說,以下三個優勢讓我對R語言「死心塌地」:

1.開源、免費。R是自由軟體。這意味著它是完全免費,開放源代碼的。不用多說什麼,直接滿分!

2.簡單、易學。R語言的學習成本在其他相同類型語言中是比較低的,語法簡單易學,這對於那些苦於學習語法卻不得要領的小白們來說,這簡直就是福音。而對於有過編程經歷的大神們來說,學習R語言就是洒洒水啦。

3.兼容性。無論你的OS是Windows,還是Linux,亦或是Mac ,R語言都是通吃的。這一點看似很普通,但是這樣的通用性便於你的環境移植和不同系統下的測試。我們來講個笑話,Mac下安裝使用SAS。

基於這些種種因素,學會R語言會讓你的統計繪圖工作變得輕鬆加愉快,為了帶領大家感受一下她的魅力。經過再三考慮決定展現出R語言強大卻便捷的作圖能力,來讓原本複雜冗長的數字文本轉換成可觀察、可分析、可展示的圖形表格信息,這也是R語言的強項。所以我會將重心放在繪圖方面,關於更多語法上面的知識只會略微講解,有心學習的朋友們可以到網上自行重點學習。言歸正傳,我們立刻開始。

一、工欲善其事,必先利其器——安裝與配置

R語言的安裝和配置都十分簡單,而且網上的教程都十分詳細,隨便搜一搜都有很多的教學貼,所以此處不過多贅述。小編在接下來使用的R版本是3.4.0,因為最新的各個版本間的差異並不大,不存在語法上的不同,所以不必和小編使用同一個R語言版本。關於R語言的編輯器,我推薦使用R Studio。原生R自帶的gui界面不是很方便使用,用起來吃力又不便捷,而R的輔助UI軟體R Studio就很好的解決了這問題。R Studio界面比R自身內容豐富很多,整個界面分區清晰明了,功能也齊全易用。所以我推薦給大家使用。

二、萬事開頭難——我的第一次繪圖

想要掌握R的繪圖方法,最基礎的一個函數——plot(),我們接下來要講的所有製圖函數,都是以此為基礎的,也是R語言中製圖最簡單的一個函數。

小貼士

在R語言中可以通過help()函數

來快速獲取你想要知道的一切,

例如運行:help(plot)你就可以獲

得關於plot函數的使用方法、參數

設定等等信息。

接下來,我們來進行一次簡單的繪圖:

數據是某一天24小時的室外溫度變化。我們來嘗試對數據進行可視化操作。

代碼如下:

temp

time

plot(time,temp)

運行結果為下圖:

我們可以看到,R語言將兩行數據以時間time為橫坐標,溫度temp為縱坐標的圖表繪製出來。這就是我們嘗試用R語言繪製的第一張圖片。是不是感覺非常的簡單方便。

三、有趣的靈魂與好看的皮囊——美化製圖

雖然我們的圖片已經繪製好了,但是肯定會有很多的顏值控會說——「哇,這個圖好醜啊!」對此,我只能說確實「很醜」。但我這裡對「丑」的理解為數據的可視化不夠清晰明確,對數據的展現也是不夠直觀鮮明。為了使我們的畫的圖更加美觀,我們來嘗試在函數里增加參數來對繪製的圖進行調整。

例如,圖中只是凌亂的散點圖,而對於一天的溫度來說,變化才是最直白的反應,所以我們在函數中增加參數type=「o」來修改數據展示方式。代碼如下:

plot(time,temp,type=」o」)

運行的結果是:

這樣一來,圖中對溫度變化的展示是不是更加清楚更加直觀了呢。但這一點點的修改顯然是不夠的,我們看到圖中橫縱坐標軸的標度不是很合適,我們要盡量顯示更多的時刻,所以我們嘗試繼續修改。代碼如下:

plot(time,temp,type=」o」,xaxt=」n」)

axis(side=1,at=time,labels=time)

運行結果:

如果還是不是很滿意,我們可以嘗試進一步對繪製的圖表進行修飾。

代碼如下:

plot(time,temp,col=」red」,lwd=2,type=」o」,xaxt=」n」,yaxt=」n」,main=」time&temperature」,xlab=」time」,ylab = 「temperature(°C)」)

axis(side=1,at=time,labels=time)

axis(side=2,at=7:18,labels=7:18)

grid(lwd=1,lty=2)

運行結果:

通過修改一定的參數,是不是就覺得我們的圖表已經有那麼一點意思了呢,這些都是最基礎最簡單的繪圖,可這些簡單的修改就可以讓你的圖表更加清晰,表達的意圖更加明顯。

以上就是我們初次嘗試使用R語言來進行繪圖的全過程了。因為介紹與基礎篇只是希望讓大家基本的了解一下R語言繪圖的基本步驟過程,所以很多代碼的用法和用途都沒有仔細的講解,如果大家對R語言有更多的興趣,我將會在接下來的文章中講述更多R語言繪圖的函數和相關參數。希望那些覺得閱讀本文對正在或打算學習R語言同學們有一定的幫助。我在文章的最後附上了我們使用的代碼腳本,供大家參考。

BioEngX


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |