獨家 | 手把手教你學習R語言(附資源連結)

2021-03-01 數據派THU

作者: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語言基礎學習


您應該首先了解語言、庫和數據結構基礎知識。

如果您更傾向於在線交流方式學習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/)

專門學習:閱讀、數據幀、表、概述、描述、加載和安裝包、使用繪圖命令可視化數據。

課後作業


步驟三:了解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語言愛好者寫的博文。


課後作業:



步驟四:數據導入和操作


導入和操作數據是數據科學工作流程中重要步驟。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語言空間數據,您會輕鬆地使用這些包。


3. HTML插件


HTML插件是R語言可視化產品中非常有前景的插件,您可以用簡單的方式創建交互式web可視化(參見RStudio教程),掌握這種可視化方法將會成為R語言學習中必備技能。其帶來的視覺效果會給您朋友和同事留下深刻印象。


課後作業


理解基本圖形語法原理。

學習ggplot2教程。

使用RStudio環境學習html插件。


步驟六:數據挖掘、機器學習

對於新的統計數據學習方法,我們推薦下列資源:

如果您想提高機器學習能力,可以考慮從以下教程開始學習:

機器學習算法要點。

自行車共享大賽--一套R語言完整解決方案。

Kaggle上的機器學習課程。

掌握機器學習。

介紹機器學習。

確保在相關的CRAN任務視圖中查看到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。

課後作業


練習


只有通過大量練習才能成為優秀R語言程式設計師。因此,要定期解決數據科學中的問題。我們的建議是趕緊開始與Kaggle上的數據科學家交流。

在解決問題中測試自己的R語言水平--練習中的問題。

步驟八:時間序列分析


R語言有一個用於專屬任務視圖時間序列。如果你想在R語言中做一些時間序列分析,這將是您開始的地方。您很快會發現工具的強大。

想要從在線資源中掌握時間序列分析是件不容易的事情。好的切入點是一本關於時間序列的書或者選擇《原理與實踐》這本書。在程序包方面,您需要熟悉Zoo與xts程序包。Zoo為您提供了常用的保存時間序列對象格式,而xts供了操作時間序列的數據集工具。

輔助資源: 時間序列綜合教程。

課後作業



文本挖掘一個重要工具


學習文本挖掘,您可以從edge課程中學習。雖然課程已經結束,但是您仍然可以訪問這些課程。

練習


步驟九:成為R語言大師

現在您已經掌握了大部分R語言數據分析,是時候給出一些高級課程資源了。您很可能已經知道其中的一些內容,但不妨看看這些教程。

 

 

原文連結:

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語言學習方法,我們在Vidhya和DataCamp中選一組綜合資源,幫您從頭學習R語言。
  • 【獨家】手把手教線性回歸分析(附R語言實例)
    註:如果你想一起學習這個例子,那麼你需要從Packt出版社的網站(https://github.com/stedy/Machine-Learning-with-R-datasets/find/master)下載insurance.csv文件,並將該文件保存到R的工作文件夾中。
  • 獨家 | 淺談強化學習原理(附代碼&連結)
    附連結:https://openai.com/blog/solving-rubiks-cube/我們之前的文章介紹了強化學習的基礎概念(見下面連結)。附連結:https://towardsdatascience.com/dont-ever-ignore-reinforcement-learning-again-4d026ee81371現在讓我們繼續深入AI智能體的工作原理, 探索它是如何通過自學來採取恰當的行動流程,從而實現全局最優的目標。
  • 下載 | 《手把手教你學51單片機-C語言版》
    編輯推薦《手把手教你學51單片機(C語言版)》的創作,目的就是改變當前「51單片機」教學與自學的模式:國內首創「手把手教你學」——集理論知識、視頻教程可以預見,《手把手教你學51單片機(C語言版)》將引領一場單片機教學的革命!作者簡介宋雪松 ,國內知名單片機培訓專家,嵌入式產品技術顧問。擁有近十年產品研發經驗,曾主持研發通信類、虛擬儀器等多款產品,在硬體電路設計和嵌入式軟體設計方向有豐富的項目實戰經驗。
  • ppt中超連結怎麼添加? 手把手教你在ppt中設置超連結
    ppt中超連結怎麼添加? 手把手教你在ppt中設置超連結時間:2017-08-05 13:37   來源:三聯   責任編輯:沫朵 川北在線核心提示:原標題:ppt中超連結怎麼添加? 手把手教你在ppt中設置超連結 ppt中超連結怎麼添加?
  • 獨家 | 手把手教你用R語言做回歸後的殘差分析(附代碼)
    本文介紹了做殘差分析的方法及其重要性,以及利用R語言實現殘差分析。在這篇文章中,我們通過探索殘差分析和用R可視化結果,深入研究了R語言。殘差本質上是當一個給定的模型(在文中是線性回歸)不完全符合給定的觀測值時留下的gap。醫學中的病理學發現的殘留分析是一個形象的比喻。人們通常用代謝殘留水平來作為衡量藥物吸收的指標。
  • 獨家 | 用於數據清理的頂級R包(附資源)
    R,作為一種能夠應用於統計計算和圖形的開源語言,是最常用和最強大的數據編程工具之一。R提供了創建數據科學項目所需的所有工具,但是不管利用任何一種工具,它只能做到提供它接受到的數據相等同的信息。但是擁有了這些工具,R環境中有許多庫可以在任何項目開始之前進行數據處理和操作。
  • 技術貼 | R語言:手把手教你畫upset集合圖
    導讀:venn可以分析不同數據集的交集,另外使用R語言UpSet函數包upset函數繪製集合圖可以更清晰的展示不同數據集的交集情況。你可能還喜歡技術貼 | R語言:ROC分析多樣性指數技術貼 | R語言:ggplot畫柱形圖、排序、著色技術貼 | R語言:手把手教你搞定ggplot柱形圖(一)技術貼 | R語言:手把手教你搞定
  • 獨家 | 一文讀懂Adaboost
    想要了解更多集成學習的框架和模型,請關注我們後續系列文章。【集成學習】系列往期回顧:獨家 | 一文讀懂集成學習(附學習資源) 參考資料:1. 李航.《統計學習方法》2. 周志華.《機器學習》3.| 一文讀懂Hadoop(三):Mapreduce獨家 | 一文讀懂Hadoop(四):YARN獨家 | 一文讀懂語音識別(附學習資源)獨家 | 一文讀懂深度學習(附學習資源)獨家 | 一文讀懂遷移學習(附學習工具包)獨家 | 一文讀懂大數據處理框架獨家 | 一文讀懂特徵工程
  • R語言做深度學習
    如何用R語言做深度學習?我帶著這個問題,開始了我的學習與實踐。閱讀本文,你可以獲得:R語言做深度學習工作環境創建R語言快速實現神經網絡模型R語言做深度學習的資料深度學習的應用場景感謝RStudio公司開發的keras包,使得R語言可以利用keras深度學習框架來做深度學習,具有簡潔,易學,好用等特性。什麼是Keras?
  • 【零基礎入門】手把手帶你系統化學習R語言
    如果說有一門簡單易學、通俗易懂並且集上述功能為一體的程式語言讓科研人員從中解脫出來,R語言當仁不讓。 R語言是一款免費開源軟體,其提供了超過12000個R包,幾乎所有類型的數據分析任務都可以在R中完成。
  • 一份數據工程師必備的學習資源,乾貨滿滿(附連結)
    核心數據工程技能及其學習資源數據工程簡介基本語言要求:Python紮實的作業系統知識豐富、深入的資料庫知識-SQL和NoSQL數據倉庫-Hadoop、MapReduce、Hive、Pig、Apache Spark、Kafka基本的機器學習知識6. 總結1.
  • 英語學習資源連結目錄3
    英語學習資源連結目錄32019.1(複製連結用瀏覽器打開;個別連結可能會被刪。)
  • 獨家 | 手把手教你如何用Python從PDF文件中導出數據(附連結)
    如果你真的好奇的話,儘管可以深入地研究它們的原始碼。無論如何,我認為我們可以大致照以上代碼行事。我們做的第一件事就是創建一個資源管理器的實例。然後通過Python的輸入輸出(io)模塊創建一個似文件對象。如果你使用的是Python 2,你應該使用StringIO模塊。接下來的步驟是創建一個轉換器。
  • 百度雲課程資源: 甜蜜假期:手把手教你15道法式甜點
    免責聲明:資源收集於網絡,僅用於試學及購買課程之參考,請於24小時內從您的電腦中徹底刪除上述內容!如您喜歡請買正版學習,得到更好的正版服務。如有侵權請聯繫公眾號進行刪除,感謝您的理解與包容。 你需要的,我恰好有《 甜蜜假期:手把手教你15道法式甜點》並且願意推薦給您需要課程《 甜蜜假期:手把手教你15道法式甜點》+維信rl7907298諮詢哦!幫你從海量信息中省時間、找資源、獲價值| 感興趣的朋友可以加幑了解諮詢哦!
  • 【手把手學習筆記】基於深度學習的自然語言處理(附實現代碼)
    【導讀】這篇自然語言處理的學習筆記手把手記錄了當前基於深度學習的文本分類常見的模型,分別介紹了數據集處理、特徵轉換、卷積神經網絡、循環神經網絡、
  • 手把手 | 哇!用R也可以跑Python了
    真是個千古難題!如果你主要從事數據分析、統計建模和可視化,R大概是你的不二之選。但如果你還想來搞點深度學習,整個自然語言處理,那你可還真得用Python。如果你處於交叉領域,很可能就需要兩種語言切換。後果是,寫個for loop還出bug真的是家常便飯。報警!面對這種困境的絕不止你一個人!
  • 手把手 |哇!用R也可以跑Python了
    如果你主要從事數據分析、統計建模和可視化,R大概是你的不二之選。但如果你還想來搞點深度學習,整個自然語言處理,那你可還真得用Python。如果你處於交叉領域,很可能就需要兩種語言切換。如果你真的想提高你在數據科學領域的能力,這兩種語言你確實都應該學習。不過現在好消息來了!
  • Tidy時代R語言學習的一些ABC
    我是一個普通的數據工作者,統計學專業出身,在大學裡教過書,也做過一些實際數據工作。數據科學於我而言,可以算工作也可以算一種愛好。這個號用到的主要數據工具是R語言。原因很簡單,我用R用了11年,順手。R從來都不是最熱的數據工具,就國內的情況來說,2010年時最熱的是Matlab,到了2020年最熱的成了Python。
  • 手把手教你用 R 語言分析歌詞
    第一部分:文本挖掘和探索性數據分析第二部分:情感分析和自然語言處理的主題模型第三部分:基於機器學習的預測分析  介紹音樂的歌詞經常會代表著一個藝術家的觀點,但是流行歌曲揭示的是社會大眾所想聽到的東西。每個教程會描述你可以用於分析的工具,但是並不是每一步的細節。你將會注意到一些步驟是通常結合使用 %>% 操作符。由於這是一個案例學習,重要的是記住你所做的推論都只是觀察性的;因此,相關性並不意味著因果關係。