獨家 | 手把手教你學習R語言(附資源連結)
作者:NSS
翻譯:楊金鴻
術語校對:韓海疇
全文校對:林亦霖
本文約3000字,建議閱讀7分鐘。
本文為帶大家瞭解R語言以及分段式的步驟教程!
人們學習R語言時普遍存在缺乏系統學習方法的問題。學習者不知道從哪開始,如何進行,選擇什麼學習資源。雖然網路上有許多不錯的免費學習資源,然而它們多過了頭,反而會讓人挑花了眼。
為了構建R語言學習方法,我們在Vidhya和DataCamp中選一組綜合資源,幫您從頭學習R語言。這套學習方法對於資料科學或R語言的初學者會很有用;如果讀者是R語言的老使用者,則會由本文了解這門語言的部分最新成果。
R語言學習方法會幫助您快速、高效學習R語言。
前言
在開始學習之前,第一個要回答的問題是:為什麼要用R語言?或者R語言為何如此有用?
R語言是一門快速發展的開源軟體,是SAS、STATA和SPSS這類商業軟體的競爭對手。就業市場對R語言的需求正在迅速上升,微軟等公司也同時承諾將致力讓R語言成為資料科學通用語言。
看看由Revolution Analytics製作的90秒視訊(https://www.youtube.com/watch?v=VlJnNSeO1uQ),您就知道R語言的用處。順便說下,微軟剛剛收購了Revolution Analytics。
步驟一:配置計算機環境
建立R語言學習環境最簡單方法是通過綜合R語言歸檔網路(CRAN)下載(https://cran.r-project.org/)到您的本地計算機上。可以選擇Linux、Mac和Windows對應二進位制檔案下載。
您可能會考慮使用R語言自帶的控制檯,但我們建議您安裝R語言整合開發環境(IDE)。RStudio(https://www.rstudio.com/)是最有名的IDE,它能讓R語言編碼更容易、更快,還能讓您輸入多行程式碼、處理圖形、安裝和維護程式,有效引導您的程式設計環境。RStudio此外可以選用基於eclipse的Architect(http://www.openanalytics.eu/architect)。如果需要安裝圖形使用者介面(GUI),請選擇R-commander(http://www.rcommander.com/)或Deducer(http://www.deducer.org/pmwiki/index.php?n=Main.WindowsInstallation)。
課後作業
安裝R和RStudio。
安裝Rcmdr、rattle和Deducer程式包。以及推薦或依賴的程式包,包括GUI。
使用庫命令載入安裝程式,並開啟GUI。
步驟二:R語言基礎學習
您應該首先了解語言、庫和資料結構基礎知識。
如果您更傾向於線上交流方式學習R語法,DataCamp(https://www.datacamp.com/courses/free-introduction-to-r)提供的免費線上R教程是很好的資源。還可以選擇後續課程:中級R程式設計(https://www.datacamp.com/courses/intermediate-r)。另一種學習方法是線上版本swirl(https://www.datacamp.com/swirl-r-tutorial),它能讓您在類似RStudio環境中學習R語言。
在互動學習環境中,您可以選擇參加Coursera(https://www.coursera.org/specializations/jhu-data-science)或Edx(https://www.edx.org/course/introduction-r-programming-microsoft-dat204x-0)上mooc課程。
除了上述線上資源,您還可以考慮以下優秀資源:
CRAN免費教學R語言(https://cran.r-project.org/doc/manuals/R-intro.pdf)。
Jared Lander’s R for Everyone(http://www.jaredlander.com/r-for-everyone/)
Quick-R(http://statmethods.net/)
專門學習:閱讀、資料幀、表、概述、描述、載入和安裝包、使用繪圖命令視覺化資料。
課後作業
使用DataCamp免費線上R教程,熟悉基本的R語法。
建立Github(http://github.com/)賬號。
通過google幫助,解決安裝過程中出現的問題。
安裝swirl包並學習R程式設計(見上文)。
步驟三:瞭解R社
強大社群的存在是R語言發展迅速、大獲成功的主要原因。社群中核心的是R語言的“包”生態系統。R語言程式包可以在CRAN、bioconductor、github和bitbucket中下載。在Rdocumentation(http://www.rdocumentation.org/)中,您可以輕鬆搜尋來自CRAN、github和bioconductor中能滿足您當前工作需要的程式包。與在R語言程式包生態系統同樣重要的是,您可以在R endeavours上輕鬆獲得幫助與反饋。首先,R內建幫助系統,您可以通過命令來訪問。同時,在Analytics Vidhya Discussions,Stack OverflowR語言是增長最快語言。R-bloggers(http://www.r-bloggers.com/)彙集許多R語言愛好者寫的博文。
課後作業:
訪問CranTask Views瞭解R語言生態系統。
在http://r-bloggers.com上註冊並訂閱每日新聞。
步驟四:資料匯入和操作
匯入和運算元據是資料科學工作流程中重要步驟。R語言允許使用特定包匯入不同資料格式,從而使您工作更輕鬆,如下:
readr:匯入平面檔案。
Readxl package:將excel檔案轉化為R語言。
haven package包:讓您將SAS、STATA和SPSS資料檔案匯入R語言。
Databases:連線通過像RMySQL和RpostgreSQL包,使用DBI訪問和操作。
rvest: 網頁資料抓取。
一旦資料在工作環境中可用,您就可以使用下面程式包操作:
整理資料的tidyr程式包。
stringr包處理字串操作。
物件資料幀,可以學習dplyr包輸入和輸出(https://www.datacamp.com/courses/dplyr-data-manipulation)。
需要執行繁重資料爭用任務?試試data.table程式包。
執行時間序列分析?嘗試一下像zoo,xts和quantmod程式包。
課後作業
通過“匯入資料進入R語言”課程,或閱讀文章1、2、3、4。掌握匯入資料軟體包。
通過RStudio觀看Data Wrangling with R 。(https://www.rstudio.com/resources/webinars/data-wrangling-with-r-and-rstudio/)
閱讀並練習如何使用dplyr、tidyr和data.table程式包。
步驟五:有效資料視覺化
自己建立資料視覺化作品是一件很自豪的事情。然而,資料視覺化既是一項技能,也是一門藝術。許多學者閱讀Edward Tufte 的“視覺化定量資料”原理,或者StephenFew的 “pitfalls on dashboard design”。也可以閱讀NathanYau在FlowingData 寫的博文,來獲得建立R語言視覺化靈感。
1. 平面圖無處不在
R語言提供了多種建立圖形方法,使用原理圖建立圖形是標準的方法。然而,有一些好的工具(或包)使用更簡單的方式來建立,檢視圖形。
在R語言中學習基本圖形語法是資料視覺化中一種實用方法。
在R語言中ggplot是資料視覺化中最重要的包,並且很受歡迎,網上有很多它的學習資源,比如線上ggplot2教程,cheatsheet ,和以及一本由哈德利韋翰編寫的教學書。
ggvis程式包允許您使用基本圖形語法建立互動式web圖形(參見教程)。
您知道Hans Rosling ted課程嗎?教您如何的用googleVis(一個帶有谷歌圖表介面)來重建圖表。
如果您遇到了繪製資料的問題,這篇文章會對您有所幫助。在這個CRAN任務檢視中可以檢視到更多的視覺化資源。或者檢視R語言資料視覺化指南。
2. 地圖無處不在
您對分析空間視覺化資料感興趣嗎?學習本教程:介紹R語言空間資料,您會輕鬆地使用這些包。
源自Google maps和ggmap開放街道的靜態圖片,可用來建立視覺化空間資料和模型。
Ari Lamstein’s中的choroplethr程式包。
tmap 程式包
3. HTML外掛
HTML外掛是R語言視覺化產品中非常有前景的外掛,您可以用簡單的方式建立互動式web視覺化(參見RStudio教程),掌握這種視覺化方法將會成為R語言學習中必備技能。其帶來的視覺效果會給您朋友和同事留下深刻印象。
leaflet建立動態圖片。
使用dygraphs生成時間序列資料圖表。
互動表(datatable)。
DiagrammeR建立圖和流程圖。
MetricsGraphics建立散點圖、線圖和直方圖。
課後作業
理解基本圖形語法原理。
學習ggplot2教程。
使用RStudio環境學習html外掛。
步驟六:資料探勘、機器學習
對於新的統計資料學習方法,我們推薦下列資源:
Andrew Conway’s課程:R語言統計資料簡介。
杜克大學資料分析和統計推斷。
R語言實用資料科學。
約翰霍普金斯大學資料科學專業課程。
R語言資料科學使用指南。
如果您想提高機器學習能力,可以考慮從以下教程開始學習:
機器學習演算法要點。
自行車共享大賽--一套R語言完整解決方案。
Kaggle上的機器學習課程。
掌握機器學習。
介紹機器學習。
確保在相關的CRAN任務檢視中檢視到R語言可用的機器學習資源。
課後作業
從統計學課程開始入門。
學習Kaggle上免費機器學習課程。
看Rattle中的一些R語言資料探勘書。
可以從這本小冊子上學習時間序列——A Little Book for Time Series in R .
步驟七:報告結果
與資料科學愛好者交流成果,分享見解是一件很重要的事情。幸運的是,R語言針對這個問題有一些非常實用工具。
第一個工具是R Markdown,採用knitr和pandoc複製方式生成您的資料分析結果報告。使用R markdown工具,R語言最終生成文件,替換R語言程式碼。文件可以是html、word、pfd、ioslides等格式。您可以通過本教程學到更多知識並使用cheatsheet作為參考資料。
第二個工具是ReporteRs,它是個建立Microsoft(Worddocx和Powerpoint pptx)和html R語言文件程式包,並可以在Windows、Linux、Unix和Mac OS系統上執行。像R Markdown工具一樣自動生成R語言報告,點選這裡我們來看看如何操作。
第三個是Shiny,目前R語言中最令人興奮的工具。使R語言構建互動式web應用程式變得非常容易。您可以把分析報告轉換為互動式web應用程式,您不需要了解HTML、CSS或Javascript相關知識。如果您想要學習Shiny ,請點選RStudio learning portal。
課後作業
使用RMarkdown或ReporteRs建立第一個互動式報告。
嘗試構建一個Shiny應用。
練習
只有通過大量練習才能成為優秀R語言程式設計師。因此,要定期解決資料科學中的問題。我們的建議是趕緊開始與Kaggle上的資料科學家交流。
在解決問題中測試自己的R語言水平--練習中的問題。
步驟八:時間序列分析
R語言有一個用於專屬任務檢視時間序列。如果你想在R語言中做一些時間序列分析,這將是您開始的地方。您很快會發現工具的強大。
想要從線上資源中掌握時間序列分析是件不容易的事情。好的切入點是一本關於時間序列的書或者選擇《原理與實踐》這本書。在程式包方面,您需要熟悉Zoo與xts程式包。Zoo為您提供了常用的儲存時間序列物件格式,而xts供了操作時間序列的資料集工具。
輔助資源: 時間序列綜合教程。
課後作業
選擇上述列出的時間系列教程,開始您的分析。
使用quantmod或quandl程式軟體包下載財務資料,開始您的時間序列分析。
使用諸如dygraphs的程式包建立您的視覺化時間序列資料和分析。
文字挖掘一個重要工具
學習文字挖掘,您可以從edge課程中學習。雖然課程已經結束,但是您仍然可以訪問這些課程。
練習
文字挖掘競賽--一套R語言的完整解決方案。
步驟九:成為R語言大師
現在您已經掌握了大部分R語言資料分析,是時候給出一些高階課程資源了。您很可能已經知道其中的一些內容,但不妨看看這些教程。
Hadley Wickham的高階R語言教程。
在Hadoop、MongoDB或NoSQL中使用R語言。
微軟的RevoScaleR 程式包
原文連結:
https://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-r-data-science/
楊金鴻,北京護航科技有限公司員工,在業餘時間喜歡翻譯一些技術文件。喜歡閱讀有關資料探勘、資料庫之類的書,學習java語言程式設計等,希望能在資料派平臺上熟識更多愛好相同的夥伴,今後能在資料科學的道路上走的更遠,飛的更遠。
翻譯組招募資訊
工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是資料科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。
你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於資料科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯絡,THU資料派產學研的背景為志願者帶來好的發展機遇。
其他福利:來自於名企的資料科學工作者,北大清華以及海外等名校學生他們都將成為你在翻譯小組的夥伴。
點選文末“閱讀原文”加入資料派團隊~
轉載須知
如需轉載,請在開篇顯著位置註明作者和出處(轉自:資料派ID:datapi),並在文章結尾放置資料派醒目二維碼。有原創標識文章,請傳送【文章名稱-待授權公眾號名稱及ID】至聯絡郵箱,申請白名單授權並按要求編輯。
釋出後請將連結反饋至聯絡郵箱(見下方)。未經許可的轉載以及改編者,我們將依法追究其法律責任。
為保證發文質量、樹立口碑,資料派現設立“錯別字基金”,鼓勵讀者積極糾錯。
若您在閱讀文章過程中發現任何錯誤,請在文末留言,或到後臺反饋,經小編確認後,資料派將向檢舉讀者發8.8元紅包。
同一位讀者指出同一篇文章多處錯誤,獎金不變。不同讀者指出同一處錯誤,獎勵第一位讀者。
感謝一直以來您的關注和支援,希望您能夠監督資料派產出更加高質的內容。
點選“閱讀原文”擁抱組織
相關文章
- R語言學習-高階資料管理R語言
- R語言的初級學習R語言
- 《手把手教你學C語言》學習筆記(8)--- 運算子和表示式C語言筆記
- R語言結合H2O做深度學習R語言深度學習
- R語言連線資料庫(MySQL)R語言資料庫MySql
- vue學習資源(參考連結)Vue
- R語言學習-迴歸診斷R語言
- R語言學習筆記之一R語言筆記
- 手把手教你入門Hadoop(附程式碼&資源)Hadoop
- 《JavaScript深度學習》資源連結清單JavaScript深度學習
- 手把手教你使用C語言實現堆疊資料結構演算法-兩種方式(連結串列+陣列)C語言資料結構演算法陣列
- MongoDB資料庫手把手教你來學習MongoDB資料庫
- 【R語言學習筆記】若干排序問題R語言筆記排序
- R語言學習筆記:基礎知識R語言筆記
- 易語言連結資料庫資料庫
- go語言學習-結構體Go結構體
- 學習蘋果Swift語言的一些線上資源蘋果Swift
- R語言data manipulation學習筆記之subset dataR語言筆記
- 【學習感悟】文科生如何入門R語言R語言
- 手把手教你做一個 C 語言編譯器(9):總結編譯
- 手把手教你用Python進行迴歸(附程式碼、學習資料)Python
- 《JAVA語言程式設計》pdf 附下載連結Java程式設計
- r語言R語言
- Swift語言Storyboard教程學習總結Swift
- 簡易指南帶你啟動 R 語言學習之旅
- 【R語言入門】R語言環境搭建R語言
- 手把手教你學Dapr - 8. 繫結
- C語言/C++程式設計學習—資料結構—連結串列類的宣告及定義C語言C++程式設計資料結構
- 值得學習的C語言開源專案C語言
- 《BASIC語言在化學中的應用 田安民》pdf 附下載連結C語言
- C語言學習方法,怎麼學習C語言?C語言
- 資料結構學習--連結串列資料結構
- 【R語言學習筆記】文件讀取和型別修改R語言筆記型別
- Perl語言學習(四)Perl控制結構
- Go語言系列之手把手教你擼一個ORM(一)GoORM
- R 語言使用
- R語言批量建立資料框R語言
- 資料分析與R語言01R語言