作者:葉旭霄
來源:大科研小分享(Ai_Fen_Xiang2020)
R作為一個統計軟體,相較於經典統計學軟體如SAS,SPSS,STATA等等有一定的差別,在犧牲界面操作(滑鼠點點點)的同時結合了一些計算機程式語言的特點,更像是一門專為統計學家量身定製的程式語言,且由於歷史悠久、開源等特點,不少學術界人士會選擇自行開發一個R包作為其學術產出。可以說整個數據科學領域R和Python各佔半壁江山,R精於學術界,而Python活躍於工業界。
作為一個學術小白,學習R不僅僅可以優化自身數據處理功力,大批量、可重複地完成許多EXCEL無法實現的功能,也可以打開新的學術領域,運用前人編寫的包輕鬆重複數據計算操作,甚至是編寫自己的包來方便流程化操作,甚至進行發表和吸引獵頭。
首先我們將R的用戶分為以下三種:
https://mirrors.tuna.tsinghua.edu.cn/CRAN/https://rstudio.com/products/rstudio/download/#download之後首推R的數據處理與作圖工具dplyr和ggplot2,這兩者都在Rstudio首席科學家Hadley Wickham開發數據科學框架tidyverse之中,tidyverse安裝方法為:
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
install.packages('tidyverse')
前面一行為更改默認鏡像地址為清華的R鏡像增加下載速度,後面一行為安裝tidyverse包,該軟體包有一個專門電子書教程R for Data Sciencehttps://blog.csdn.net/weixin_38423453?t=1原書第3和5章分別介紹了ggplot2和dplyr兩個軟體包的應用方法,包括如何作圖和對數據進行篩選計算如:
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")
以及dplyr包的filter、arrange、select、mutate、summary,分別用於篩選特定的行、排序、篩選列、變換列、計算統計量。建議初學者先從這兩章開始學習。第二個常用資源也就是百度,比如我想要構思畫一個三維曲面圖,直接百度會提供我們現成的代碼,對於各個函數有什麼不懂的可以直接?+函數名例如:rstudio右下角會直接出現該函數的文檔和案例,學習過其他程式語言的同學應該知道,這真的是方便的不能再方便了。如果百度資源不夠用,可以嘗試Google,StackOverFlow,Github等。
由於大家一般都在學校學過R相關課程和理論,在做項目時首推以上資源和Advanced R電子書很多時候大家需要自行開發軟體包推薦使用R Packages電子書這裡就需要給大家介紹一個專門的R教學分享平臺Bookdown其次還推薦一些老師或者學生的個人博客和名校資源比如新國立教授Alex Cook的個人公開博客http://blog.nus.edu.sg/alexcook/其中他提供了貝葉斯統計、高級生物統計等系列課程的課件。由於他願意將自己的課件公開吸引了不少學生去申請他的PhD,導致他現在學生太多,學校要求他必須畢業一部分否則不準再招新的學生,估計大家有想報他的博士得等到2023年以後了。https://shiny.rstudio.com/用於進行在線互動數據分析,非常非常的酷炫,這裡給大家提供一個COVID-19的全球數據分析平臺樣板https://shiny.rstudio.com/gallery/covid19-tracker.html這種網頁平臺只用學習shiny包的使用,無需HTML、CSS、Javascript等知識即可搭建網頁平臺,可以之間發布在R官方的shinyapp.io或是租一個個人伺服器搭建shinyserver,過程實在簡單,建議學習和嘗試。大家主要就是學習各類算法包的使用,畢竟我們都是站在巨人的肩膀上,例如常見的e1071包支持向量機,randomForest包隨機森林等等。這裡給大家推薦以下rstudio官方的一些接口資料如TensorFlow(https://tensorflow.rstudio.com/)和Spark(https://spark.rstudio.com/)總的來說R不光是一門統計程式語言,更是一個學術分享平臺,很多前人的科研成果可以直接通過調用他們的軟體包進行使用和結果重現,希望有更多的學子能感悟其中的奧妙。
如果我的內容對你有幫助歡迎關注轉發