假如你从来没有编程经历,也没有对比了解的核算软件,那么学习R也许会对比艰难。这个学习途径首要对于菜鸟。对于R有许多优异资本,这儿介绍的一些在线课程、书本和更多让你赶快学会R。
大纲:
过程1:你为何要学习R
过程2:安装
过程3:了解R的语法
过程4:R的中心 ->包
过程5:协助体系
过程6:数据剖析作业流程
· 6.1 :导入数据
· 6.2 :数据操作
· 6.3 :数据可视化
· 6.4 :核算有些
· 6.5 :陈述成果
过程7:去发现令人振奋的新东西
过程1:你为何要学习R
R敏捷变成数据科学里的通用言语,你会发如今不断增加的商业环境和一些商业比赛软件如SAS,STATA和SPSS中运用R。
这意味着,对R的需要日益增长,并且把握这个技能很简略获得高薪。经过学习R,你能了解一个高度多元化和风趣的社区,并且R在金融、基因组剖析、房地产、广告、支付等不相同范畴都有不相同的运用,这些范畴都在推进R的开展,你会遇到各种比方,在天天基础作业上的运用,使作业变的更风趣,也会经过处理这些疑问增加你的才能。
过程2:安装
在你用R作业之前,首要下载装置在你的电脑上,登录http://cran.r-project.org/mirrors.html,挑选离你近来的CRAN镜像站点,挑选了镜像站点后,依据你所用的操作体系下载恰当的版本。R有不相同的版本,装置起来很简略,支撑 Linux,Mac 和Windows 的体系。具体可参照https://cran.r-project.org/。
在装置R时,最佳有一个集成开发环境,假如你喜爱一个图形用户界面,你应当看看r-commander。
过程3:了解R的语法
学习一种编程言语的语法和学习一种自然言语没什么不相同,经过操练。一个对比好的办法是经过下面这些教程。
· Datacamp中对R的介绍教程和后续课程中的R编程。这些课程教你编程和数据科学的交互办法,以自个的节奏。
· R 的交互包swirl包,也有一个在线版可用,不需要设置
· 在EDX上有微软推出的 Introductionto R Programming
· Coursera上有 R Programmingcourse by Johns Hopkins
接下来还有一些十分好的入门书本:
· Jared Lander’s R言语:有用数据剖析和可视化技能 Rfor Everyone:Advanced Analytics and Graphics
· R in Action by Robert Kabacoff
· 由DataCamp有关人员编写的free introduction to R tutorial(R的免费入门教程)
过程4:R的中心 ->包
每一个R包是一个简略的代码包。除了基本的代码库,包一般包含数据、文档和测验。作为一个R的用户,你能够下载一个特定的包(有些乃至是预先装置)并开端运用它的功用。每个人都能够开发包,每个人都能够与别人共享他们的R包。
这是一个十分强壮的概念,这个言语现已形成一个社区,你不需要做一切的中心计划,或许自个了解每一个特定算法和可视化的一切细节。只需要一个软件包,你就能够简略的运用。
许多软件包能够从Comprehensive R Archive Network这儿下载,你能够经过install.packages function来装置下载。你还能够经过Bioconductor,GitHub和bitbucket来寻觅一些特定的包。在Rdocumentation上你能够很简略的搜索CRAN,github和 bioconductor上面的包。
过程4:协助体系
你很也许会发现,当你处理了一个R的疑问,又会呈现5个新疑问。这时分你就需要协助体系来辅导你。
在你能够运用其内置的协助体系。例如,输入`?plot`将为您供给的绘图功用的文档。
R把一大要点放在文档。前面提到的rdocumentation即是一个能寻觅到各种报和功用的文档的巨大网站。
Stack Overflowis 是一个极好的对于R的问答社区。
还有一些对于R的极好的博客例如KDnuggetsandR-bloggers。
过程6:数据剖析作业流程
当你了解上面这些以后,你就能够开端进行剖析了。
6.1导入数据
你能够把各种数据格式都导入到R里,可是不相同的类型需要不相同的办法,这是一个难点。
· 文本文件:你能够从预装置东西包中运用read.table()。和read.csv()等功用导入文本文件。
· Excel文件:能够经过readxl package, gdata package和XLConnectpackage.https://www.datacamp.com/community/tutorials/r-tutorial-read-excel-into-r
· SAS、STATA and SPSS数据能够用haven package导入,类似Systat 和Weka的数据格式能够用 foreignpackage导入。
· 和一些数据库有关联能够运用RMySQL, RpostgreSQL和the ROraclepackage.
假如你想了解更多对于如何将数据导入R的教程能够参照
https://www.datacamp.com/community/tutorials/r-data-import-tutorial
6.2数据操作
· 用tidyr包为收拾你的数据
· 用stringr进行字符串操作
· 作业时的时刻和日期的装置lubridate封装使其作业与这些更简略一点。
· 像zoo,xtsandquantmod这类包能够协助你在中R进行时刻序列剖析
6.3 数据可视化
R言语作为数据剖析和科学家们最喜爱的东西的因素是因为它的数据可视化才能。不计其数的基数经过R言语进行发明,就像FlowingData所发明出的岗位相同,举个比方即是闻名的facebook 的可视化:
假如你想开端与可视化研讨,那就要花些时刻研讨ggplot2的软件包。其间一个有名的软件包即是研制的图形和图。ggplot2着重使用语法和图形,因而在运用时十分直观(你不断树立你的图的有些,这有点像玩乐高)。有许多资本能够协助你, interactivecoding tutorial好比cheatsheet(一个mac的操作体系软件)和Hadley Wickham行将出书的书。
除了ggplot2以外,还有许多其他的软件包,能够创立高度互动的图形,还有许多极好的学习资本能够让你加敏捷度。
· 交互式Web图形ggvis
· google的图表界面googleVis
· plotly R
假如你在数据绘图中遇到疑问,这篇文章也许会对你有协助。
https://www.datacamp.com/community/tutorials/15-questions-about-r-plots
接下来要说的即是“传统”的图形,R言语也能够处理可视化的空间数据。你能够很简略地可视化空间数据和模型上的来历,如google地图和敞开大街地图包,如ggmap静态地图。另一个很大的软件包choroplethr由阿里拉姆斯坦Trulia或TMAP开发。假如你想了解更多。https://cran.r-project.org/doc/contrib/intro-spatial-rl.pdf
6.4核算有些
假如你是个核算学菜鸟,当你在运用R言语的时分这儿有一些十分牢靠的资本能够协助你了解。
· AndrewConway’s Introduction to statistics with R (online interactive codingcourse)
· Data Analysis and StatisticalInference by Duke University (MOOC)
· PracticalData Science With R (book)
· DataAnalysis for life sciences by Harvard University (MOOC)
· Data ScienceSpecialization by Johns Hopkins (MOOC)
· ASurvival Guide to Data Science with R (book)
请注意,这些资本是对于初学者的。假如你想进一步深化学习,你能够看看对于机器学习R言语的杂乱资本。书的话,比方《把握机器学习》和《机器学习与R言语》就十分好地解说了不相同的概念。还有一些网上资本,如Kaggle机器学习课程能够协助你操练。此外还有一些十分风趣的博客例如MachineLearning Mastery 和this post.。
6.5 陈述你的成果
共享你的模型的一个最佳的办法是经过动态文档的可视化。R Markdown(根据knitr和Pandoc)是一个做数据剖析陈述的最佳的办法,在HTML,Word,PDF,ioslides等渠道上都是能够进行重复进行的。
这儿有对于R Markdown的教程,https://www.datacamp.com/courses/reporting-with-r-markdown?tap_a=5644-dce66f&tap_s=14201-e863d5
过程7:如今去发现令人振奋的新东西
R言语是一种敏捷进化的言语。学术界和企业界都在敏捷采用它,因而研制R言语新的功用和东西的速度正在敏捷提高。这些新的技能和软件包才是使咱们感到最振奋的。
· HTML控件答应你创立交互式的Web可视化等动态地图(传单),时刻序列数据的图表(Dygraphs),互动表(数据表)。假如你想学习如何创立你自个的东西那就要经过RStudio看看这个教程。https://www.rstudio.com/resources/webinars/creating-javascript-data-visualizations-in-r/
· 近来另一种在市场上引起争议的技能是shiny。有了Shiny,你能够使你自个的交互式网络运用程序像这些相同,有一个完好的学习门户网站,还能够致力于建造自个的Shiny运用程序。
· 近来,有许多人将注意力集中于如安在云核算中运用R言语。假如你想自个独立完成这件工作,你能够看一下R言语是如安在AWS运用的,还有Azure(Azure是微软根据云核算的操作体系) 的R言语编程,以及RStudioServer on Digital Ocean
一旦你在R言语上有一些经历,提高你的R言语水平的一个极好的办法即是看看HadleyWickham的免费书Advanced R。此外,你还能够其他数据科学爱好者在Kaggle上比赛来训练你的R言语水平。