手把手教你学习R语言
本文為帶大家了解R語(yǔ)言以及分段式的步驟教程!
人們學(xué)習(xí)R語(yǔ)言時(shí)普遍存在缺乏系統(tǒng)學(xué)習(xí)方法的問(wèn)題。學(xué)習(xí)者不知道從哪開始,如何進(jìn)行,選擇什么學(xué)習(xí)資源。雖然網(wǎng)絡(luò)上有許多不錯(cuò)的免費(fèi)學(xué)習(xí)資源,然而它們多過(guò)了頭,反而會(huì)讓人挑花了眼。
為了構(gòu)建R語(yǔ)言學(xué)習(xí)方法,我們?cè)赩idhya和DataCamp中選一組綜合資源,幫您從頭學(xué)習(xí)R語(yǔ)言。這套學(xué)習(xí)方法對(duì)于數(shù)據(jù)科學(xué)或R語(yǔ)言的初學(xué)者會(huì)很有用;如果讀者是R語(yǔ)言的老用戶,則會(huì)由本文了解這門語(yǔ)言的部分最新成果。
R語(yǔ)言學(xué)習(xí)方法會(huì)幫助您快速、高效學(xué)習(xí)R語(yǔ)言。
前言
在開始學(xué)習(xí)之前,第一個(gè)要回答的問(wèn)題是:為什么要用R語(yǔ)言?或者R語(yǔ)言為何如此有用?
R語(yǔ)言是一門快速發(fā)展的開源軟件,是SAS、STATA和SPSS這類商業(yè)軟件的競(jìng)爭(zhēng)對(duì)手。就業(yè)市場(chǎng)對(duì)R語(yǔ)言的需求正在迅速上升,微軟等公司也同時(shí)承諾將致力讓R語(yǔ)言成為數(shù)據(jù)科學(xué)通用語(yǔ)言。
看看由Revolution Analytics制作的90秒視頻(https://www.youtube.com/watch?v=VlJnNSeO1uQ),您就知道R語(yǔ)言的用處。順便說(shuō)下,微軟剛剛收購(gòu)了Revolution Analytics。
步驟一:配置計(jì)算機(jī)環(huán)境
建立R語(yǔ)言學(xué)習(xí)環(huán)境最簡(jiǎn)單方法是通過(guò)綜合R語(yǔ)言歸檔網(wǎng)絡(luò)(CRAN)下載(https://cran.r-project.org/)到您的本地計(jì)算機(jī)上。可以選擇Linux、Mac和Windows對(duì)應(yīng)二進(jìn)制文件下載。
您可能會(huì)考慮使用R語(yǔ)言自帶的控制臺(tái),但我們建議您安裝R語(yǔ)言集成開發(fā)環(huán)境(IDE)。RStudio(https://www.rstudio.com/)是最有名的IDE,它能讓R語(yǔ)言編碼更容易、更快,還能讓您輸入多行代碼、處理圖形、安裝和維護(hù)程序,有效引導(dǎo)您的編程環(huán)境。RStudio此外可以選用基于eclipse的Architect(http://www.openanalytics.eu/architect)。如果需要安裝圖形用戶界面(GUI),請(qǐng)選擇R-commander(http://www.rcommander.com/)或Deducer(http://www.deducer.org/pmwiki/index.php?n=Main.WindowsInstallation)。
課后作業(yè)
- 安裝R和RStudio。
- 安裝Rcmdr、rattle和Deducer程序包。以及推薦或依賴的程序包,包括GUI。
- 使用庫(kù)命令加載安裝程序,并打開GUI。
步驟二:R語(yǔ)言基礎(chǔ)學(xué)習(xí)
您應(yīng)該首先了解語(yǔ)言、庫(kù)和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識(shí)。
如果您更傾向于在線交流方式學(xué)習(xí)R語(yǔ)法,DataCamp(https://www.datacamp.com/courses/free-introduction-to-r)提供的免費(fèi)在線R教程是很好的資源。還可以選擇后續(xù)課程:中級(jí)R編程(https://www.datacamp.com/courses/intermediate-r)。另一種學(xué)習(xí)方法是在線版本swirl(https://www.datacamp.com/swirl-r-tutorial),它能讓您在類似RStudio環(huán)境中學(xué)習(xí)R語(yǔ)言。
在互動(dòng)學(xué)習(xí)環(huán)境中,您可以選擇參加Coursera(https://www.coursera.org/specializations/jhu-data-science)或Edx(https://www.edx.org/course/introduction-r-programming-microsoft-dat204x-0)上mooc課程。
除了上述在線資源,您還可以考慮以下優(yōu)秀資源:
- CRAN免費(fèi)教學(xué)R語(yǔ)言(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/)
專門學(xué)習(xí):閱讀、數(shù)據(jù)幀、表、概述、描述、加載和安裝包、使用繪圖命令可視化數(shù)據(jù)。
課后作業(yè)
- 使用DataCamp免費(fèi)在線R教程,熟悉基本的R語(yǔ)法。
- 創(chuàng)建Github(http://github.com/)賬號(hào)。
- 通過(guò)google幫助,解決安裝過(guò)程中出現(xiàn)的問(wèn)題。
- 安裝swirl包并學(xué)習(xí)R編程(見上文)。
步驟三:了解R社
強(qiáng)大社區(qū)的存在是R語(yǔ)言發(fā)展迅速、大獲成功的主要原因。社區(qū)中核心的是R語(yǔ)言的“包”生態(tài)系統(tǒng)。R語(yǔ)言程序包可以在CRAN、bioconductor、github和bitbucket中下載。在Rdocumentation(http://www.rdocumentation.org/)中,您可以輕松搜索來(lái)自CRAN、github和bioconductor中能滿足您當(dāng)前工作需要的程序包。與在R語(yǔ)言程序包生態(tài)系統(tǒng)同樣重要的是,您可以在R endeavours上輕松獲得幫助與反饋。首先,R內(nèi)置幫助系統(tǒng),您可以通過(guò)命令來(lái)訪問(wèn)。同時(shí),在Analytics Vidhya Discussions,Stack OverflowR語(yǔ)言是增長(zhǎng)最快語(yǔ)言。R-bloggers(http://www.r-bloggers.com/)匯集許多R語(yǔ)言愛(ài)好者寫的博文。
課后作業(yè):
- 訪問(wèn)CranTask Views了解R語(yǔ)言生態(tài)系統(tǒng)。
- 在http://r-bloggers.com上注冊(cè)并訂閱每日新聞。
步驟四:數(shù)據(jù)導(dǎo)入和操作
導(dǎo)入和操作數(shù)據(jù)是數(shù)據(jù)科學(xué)工作流程中重要步驟。R語(yǔ)言允許使用特定包導(dǎo)入不同數(shù)據(jù)格式,從而使您工作更輕松,如下:
- readr:導(dǎo)入平面文件。
- Readxl package:將excel文件轉(zhuǎn)化為R語(yǔ)言。
- haven package包:讓您將SAS、STATA和SPSS數(shù)據(jù)文件導(dǎo)入R語(yǔ)言。
- Databases:連接通過(guò)像RMySQL和RpostgreSQL包,使用DBI訪問(wèn)和操作。
- rvest: 網(wǎng)頁(yè)數(shù)據(jù)抓取。
一旦數(shù)據(jù)在工作環(huán)境中可用,您就可以使用下面程序包操作:
- 整理數(shù)據(jù)的tidyr程序包。
- stringr包處理字符串操作。
- 對(duì)象數(shù)據(jù)幀,可以學(xué)習(xí)dplyr包輸入和輸出(https://www.datacamp.com/courses/dplyr-data-manipulation)。
- 需要執(zhí)行繁重?cái)?shù)據(jù)爭(zhēng)用任務(wù)?試試data.table程序包。
- 執(zhí)行時(shí)間序列分析?嘗試一下像zoo,xts和quantmod程序包。
課后作業(yè)
- 通過(guò)“導(dǎo)入數(shù)據(jù)進(jìn)入R語(yǔ)言”課程,或閱讀文章1、2、3、4。掌握導(dǎo)入數(shù)據(jù)軟件包。
- 通過(guò)RStudio觀看Data Wrangling with R 。(https://www.rstudio.com/resources/webinars/data-wrangling-with-r-and-rstudio/)
- 閱讀并練習(xí)如何使用dplyr、tidyr和data.table程序包。
步驟五:有效數(shù)據(jù)可視化
自己創(chuàng)建數(shù)據(jù)可視化作品是一件很自豪的事情。然而,數(shù)據(jù)可視化既是一項(xiàng)技能,也是一門藝術(shù)。許多學(xué)者閱讀Edward Tufte 的“可視化定量數(shù)據(jù)”原理,或者StephenFew的 “pitfalls on dashboard design”。也可以閱讀NathanYau在FlowingData 寫的博文,來(lái)獲得創(chuàng)建R語(yǔ)言可視化靈感。
1.?平面圖無(wú)處不在
R語(yǔ)言提供了多種創(chuàng)建圖形方法,使用原理圖創(chuàng)建圖形是標(biāo)準(zhǔn)的方法。然而,有一些好的工具(或包)使用更簡(jiǎn)單的方式來(lái)創(chuàng)建,查看圖形。
- 在R語(yǔ)言中學(xué)習(xí)基本圖形語(yǔ)法是數(shù)據(jù)可視化中一種實(shí)用方法。
- 在R語(yǔ)言中g(shù)gplot是數(shù)據(jù)可視化中最重要的包,并且很受歡迎,網(wǎng)上有很多它的學(xué)習(xí)資源,比如在線ggplot2教程,cheatsheet ,和以及一本由哈德利韋翰編寫的教學(xué)書。
- ggvis程序包允許您使用基本圖形語(yǔ)法創(chuàng)建交互式web圖形(參見教程)。
- 您知道Hans Rosling ted課程嗎?教您如何的用googleVis(一個(gè)帶有谷歌圖表接口)來(lái)重建圖表。
- 如果您遇到了繪制數(shù)據(jù)的問(wèn)題,這篇文章會(huì)對(duì)您有所幫助。在這個(gè)CRAN任務(wù)視圖中可以查看到更多的可視化資源。或者查看R語(yǔ)言數(shù)據(jù)可視化指南。
2. 地圖無(wú)處不在
您對(duì)分析空間可視化數(shù)據(jù)感興趣嗎?學(xué)習(xí)本教程:介紹R語(yǔ)言空間數(shù)據(jù),您會(huì)輕松地使用這些包。
- 源自Google maps和ggmap開放街道的靜態(tài)圖片,可用來(lái)創(chuàng)建可視化空間數(shù)據(jù)和模型。
- Ari Lamstein’s中的choroplethr程序包。
- tmap 程序包
3. HTML插件
HTML插件是R語(yǔ)言可視化產(chǎn)品中非常有前景的插件,您可以用簡(jiǎn)單的方式創(chuàng)建交互式web可視化(參見RStudio教程),掌握這種可視化方法將會(huì)成為R語(yǔ)言學(xué)習(xí)中必備技能。其帶來(lái)的視覺(jué)效果會(huì)給您朋友和同事留下深刻印象。
- leaflet創(chuàng)建動(dòng)態(tài)圖片。
- 使用dygraphs生成時(shí)間序列數(shù)據(jù)圖表。
- 互動(dòng)表(datatable)。
- DiagrammeR創(chuàng)建圖和流程圖。
- MetricsGraphics創(chuàng)建散點(diǎn)圖、線圖和直方圖。
課后作業(yè)
- 理解基本圖形語(yǔ)法原理。
- 學(xué)習(xí)ggplot2教程。
- 使用RStudio環(huán)境學(xué)習(xí)html插件。
步驟六:數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)
對(duì)于新的統(tǒng)計(jì)數(shù)據(jù)學(xué)習(xí)方法,我們推薦下列資源:
- Andrew Conway’s課程:R語(yǔ)言統(tǒng)計(jì)數(shù)據(jù)簡(jiǎn)介。
- 杜克大學(xué)數(shù)據(jù)分析和統(tǒng)計(jì)推斷。
- R語(yǔ)言實(shí)用數(shù)據(jù)科學(xué)。
- 約翰霍普金斯大學(xué)數(shù)據(jù)科學(xué)專業(yè)課程。
- R語(yǔ)言數(shù)據(jù)科學(xué)使用指南。
如果您想提高機(jī)器學(xué)習(xí)能力,可以考慮從以下教程開始學(xué)習(xí):
- 機(jī)器學(xué)習(xí)算法要點(diǎn)。
- 自行車共享大賽--一套R(shí)語(yǔ)言完整解決方案。
- Kaggle上的機(jī)器學(xué)習(xí)課程。
- 掌握機(jī)器學(xué)習(xí)。
- 介紹機(jī)器學(xué)習(xí)。
確保在相關(guān)的CRAN任務(wù)視圖中查看到R語(yǔ)言可用的機(jī)器學(xué)習(xí)資源。
課后作業(yè)
- 從統(tǒng)計(jì)學(xué)課程開始入門。
- 學(xué)習(xí)Kaggle上免費(fèi)機(jī)器學(xué)習(xí)課程。
- 看Rattle中的一些R語(yǔ)言數(shù)據(jù)挖掘書。
- 可以從這本小冊(cè)子上學(xué)習(xí)時(shí)間序列——A Little Book for Time Series in R .
步驟七:報(bào)告結(jié)果
與數(shù)據(jù)科學(xué)愛(ài)好者交流成果,分享見解是一件很重要的事情。幸運(yùn)的是,R語(yǔ)言針對(duì)這個(gè)問(wèn)題有一些非常實(shí)用工具。
第一個(gè)工具是R Markdown,采用knitr和pandoc復(fù)制方式生成您的數(shù)據(jù)分析結(jié)果報(bào)告。使用R markdown工具,R語(yǔ)言最終生成文檔,替換R語(yǔ)言代碼。文檔可以是html、word、pfd、ioslides等格式。您可以通過(guò)本教程學(xué)到更多知識(shí)并使用cheatsheet作為參考資料。
第二個(gè)工具是ReporteRs,它是個(gè)創(chuàng)建Microsoft(Worddocx和Powerpoint pptx)和html R語(yǔ)言文檔程序包,并可以在Windows、Linux、Unix和Mac OS系統(tǒng)上運(yùn)行。像R Markdown工具一樣自動(dòng)生成R語(yǔ)言報(bào)告,點(diǎn)擊這里我們來(lái)看看如何操作。
第三個(gè)是Shiny,目前R語(yǔ)言中最令人興奮的工具。使R語(yǔ)言構(gòu)建交互式web應(yīng)用程序變得非常容易。您可以把分析報(bào)告轉(zhuǎn)換為交互式web應(yīng)用程序,您不需要了解HTML、CSS或Java相關(guān)知識(shí)。如果您想要學(xué)習(xí)Shiny ,請(qǐng)點(diǎn)擊RStudio learning portal。
課后作業(yè)
- 使用RMarkdown或ReporteRs創(chuàng)建第一個(gè)交互式報(bào)告。
- 嘗試構(gòu)建一個(gè)Shiny應(yīng)用。
練習(xí)
只有通過(guò)大量練習(xí)才能成為優(yōu)秀R語(yǔ)言程序員。因此,要定期解決數(shù)據(jù)科學(xué)中的問(wèn)題。我們的建議是趕緊開始與Kaggle上的數(shù)據(jù)科學(xué)家交流。
在解決問(wèn)題中測(cè)試自己的R語(yǔ)言水平--練習(xí)中的問(wèn)題。
步驟八:時(shí)間序列分析
R語(yǔ)言有一個(gè)用于專屬任務(wù)視圖時(shí)間序列。如果你想在R語(yǔ)言中做一些時(shí)間序列分析,這將是您開始的地方。您很快會(huì)發(fā)現(xiàn)工具的強(qiáng)大。
想要從在線資源中掌握時(shí)間序列分析是件不容易的事情。好的切入點(diǎn)是一本關(guān)于時(shí)間序列的書或者選擇《原理與實(shí)踐》這本書。在程序包方面,您需要熟悉Zoo與xts程序包。Zoo為您提供了常用的保存時(shí)間序列對(duì)象格式,而xts供了操作時(shí)間序列的數(shù)據(jù)集工具。
輔助資源:?時(shí)間序列綜合教程。
課后作業(yè)
- 選擇上述列出的時(shí)間系列教程,開始您的分析。
- 使用quantmod或quandl程序軟件包下載財(cái)務(wù)數(shù)據(jù),開始您的時(shí)間序列分析。
- 使用諸如dygraphs的程序包創(chuàng)建您的可視化時(shí)間序列數(shù)據(jù)和分析。
文本挖掘一個(gè)重要工具
學(xué)習(xí)文本挖掘,您可以從edge課程中學(xué)習(xí)。雖然課程已經(jīng)結(jié)束,但是您仍然可以訪問(wèn)這些課程。
練習(xí)
- 文本挖掘競(jìng)賽--一套R(shí)語(yǔ)言的完整解決方案。
步驟九:成為R語(yǔ)言大師
現(xiàn)在您已經(jīng)掌握了大部分R語(yǔ)言數(shù)據(jù)分析,是時(shí)候給出一些高級(jí)課程資源了。您很可能已經(jīng)知道其中的一些內(nèi)容,但不妨看看這些教程。
- Hadley Wickham的高級(jí)R語(yǔ)言教程。
- 在Hadoop、MongoDB或NoSQL中使用R語(yǔ)言。
- 微軟的RevoScaleR 程序包
原文鏈接:
https://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-r-data-science/
轉(zhuǎn)載于:https://www.cnblogs.com/nkwy2012/p/9052206.html
總結(jié)
以上是生活随笔為你收集整理的手把手教你学习R语言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ZBrush 4R8用起来了!
- 下一篇: 蓝桥杯java打印菱形_Python基础