R語言作為一款免費、開源的統計繪圖軟體,近年來可謂科研界的新寵兒。但由於其入門較難、debug能力要求較高,常常讓小白們望而卻步。今天筆者給大家帶來在自學R語言過程中發現的一些寶藏網站,助你快速完成從入門到萌新的蛻變!
DataCamp
網上的自學教程很多,但無論是書籍、精華筆記還是教學視頻,都缺乏系統性和交互性。完全零基礎甚至連代碼都看不懂怎麼辦?看懂了代碼但一操作就報錯怎麼辦?
這時候來一套系統的自學課程就很有必要了,如果能有配套的實操訓練再好不過!考慮到大家的需求,DataCamp應勢而生。
適合具備科學上網條件的小夥伴,沒有條件的可以創造條件(方法參見:Google學術訪問插件終極指南—四大插件測評和視頻教程!)。視頻搭配操作習題,對於初學者快速上手很有幫助!
打開網頁後,點擊「Learn」,在展開的內容中選擇進入「R」專區學習。
(DataCamp界面,圖片來源:網頁截圖)
接下來我們以經典繪圖包「ggplot2」為例,選擇「Introduction to Data Visualization with ggplot2」開始ggplot2入門之旅。
(ggplot2軟體包入門學習課程,圖片來源:網頁截圖)
課程分為4個部分:Introduction(介紹),Aesthetics(映射),Geometries(幾何圖形)和Theme(主題)。Introduction部分是免費的,先帶大家體驗一下。
首先觀看視頻,全程英語講解,不過小夥伴們也不必太擔心,可以自行設置播放速度(如×0.5)和字幕語言(下圖小編就把字母設置成了中文簡體)。
(課程視頻,圖片來源:網頁截圖)
視頻觀看結束後就可以進行課後練習啦,按要求寫代碼並根據參考答案自查。視頻課程沒有聽清問題也不大,點擊代碼運行區域的「slides」即可查看。不得不感嘆一句,平臺開發者太強了!
(課後練習界面,圖片來源:網頁截圖)
竟然還有這麼友好的學習網站?相信不少小夥伴蠢蠢欲動了。別急,看看價格,普通會員25$每月(實時匯率轉換約173¥),高級會員33.25$每月(實時匯率轉換約230¥)。果然是生命不可承受之貴。。。不過,別忘了我們有萬能的某寶,據小編了解,某寶普通會員包年價格100+軟妹幣,拿走不謝!
(DataCamp驚人的會員價,圖片來源:網頁截圖)
Rdocumentation
入門之後,接下來就是掌握R語言的精髓——調用各種包(packages),畢竟「包」治百病~
搜索R包的途徑有很多,最基礎的通過R綜合檔案網絡(CRAN mirror)搜索,進階一點使用Github,專業針對性強的比如生信方向的朋友用Bioconductor會更多一點。而接下來要給大家介紹的Rdocumentation則集多個平臺於一體,幫使用者大大節省了精力。
有了檢索網站以後如何為我所用?
舉個例子,小編某天在文獻中看到這樣一幅三元相圖,覺得可以用來呈現自己的結果。用R語言怎麼實現呢?
(Pei et al., 2019)
很簡單,在檢索欄輸入檢索詞「ternary (譯:三元)」,可以看到搜索結果中既有對應的包又有對應的函數。我們可以選擇「Tenary packages」研究一下。
(圖片來源:網絡截圖)
如下圖所示,據簡介可知,Ternary packages和經典繪圖程序包「ggplot2」的姊妹包「ggtern」有著相似的作用。慣用ggplot2的朋友就可以移步至「ggtern」啦。
(Ternary包簡介,圖片來源:網絡截圖)
接著看Ternary packages中的函數,從創建一個三元相圖空白圖層到圖形元素的添加,再到細節修飾,哪裡不會點哪裡。這裡咱們做個簡單的繪圖示範,主要關注「TernaryPlot」和「AddToTernary」兩個函數。
(Ternary包中的函數,圖片來源:網絡截圖)
看懂函數是作圖的關鍵,Rdocumentation對每一個函數的用法、專業術語、細節以及案例都做了詳細介紹。嫌描述看得太累,直接拉到最後的Examples。創作不易,依葫蘆畫瓢還是很簡單的。
(TernaryPlot函數簡介及使用範例,圖片來源:網絡截圖)
(AddToTernary函數簡介及使用範例,圖片來源:網絡截圖)
接下來是實踐環節,小編在這裡打個樣,具體的細節還得花點時間雕琢一番。(由於數據較為緊湊,所以重疊度比較高)
(三元相圖的繪製草圖及代碼,圖片來源:軟體截圖)
stackoverflow
R使用過程中遇到的問題怎麼辦?
stackoverflow搜索幫你忙,同樣具備科學上網條件的朋友。
這是一個編程領域的問答網站,我們在R學習過程中遇到的80%以上的問題都可以通過這個網站上的帖子解決。沒有搜索到你要的內容?自己編輯提問吧,你將得到世界各地小夥伴的熱心援助。
由於此網站面向的是程序猿而非R使用者,因此在檢索內容時建議加上關鍵詞「R」。比如:對於上面的例子,我想求助如何通過R來呈現三元相圖,可以搜索「ternary, R」,檢索到290條相關結果。
(Stackoverflow中以關鍵詞「ternary, R」檢索到的結果,圖片來源:網頁截圖)
不過密密麻麻的英文簡直是英語困難戶的噩夢!如何解決?搭配上公眾號之前推薦的彩雲小譯插件(傳送門:翻譯軟體再度來襲,秒殺英文聽說讀寫),簡直完美!當然了,也還有其他選擇,如國內人士開發的Stackoverflow中文網站,以及我們的本土程序猿社區CSDN都是不錯的選擇。
(彩雲小譯插件翻譯過的Stackoverflow帖子,圖片來源:網頁截圖)