数据可视化 数据分析 插件
摘要: 人们学习 R 语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反而会让人挑花了眼. 为了构建 R 语言学习方法,我们在 Vidhya 和 DataCamp 中选一组综合资源,帮您从头学习 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://yq.aliyun.com/articles/399319