【数据管理】Tidyverse:R 语言学习之旅的新起点
笔者邀请您,先思考:
1 您是怎么学习R语言?
2 您用tidyverse包吗?

学习R语言的传统路径(base R first)多是从变量类型、数据结构、流程控制、循环与自定义函数,也就是以R程式设计作为起点,接着依照数据处理、视觉化、统计与机器学习等应用偏好延续下一个学习的旅程;由tidyverse 作为起点的路径则是近年新兴的学习模式(tidyverse first),理念是在一开始先不谈[] 、[[]] 、$ 流程控制与循环等内容,而从dplyr 的函数应用开头,目的是在最短时间让初学者切入数据处理与视觉化的应用,让R 语言能够很快地在课业、研究或者工作派上用场。
Tidyverse 究竟是什么?
Tidyverse 究竟是什么?它是由 RStudio 选出多个数据科学应用套件的集合,只要使用者了解呼叫函数与 pipe 运算子 %>% 就能够进行相当实用的数据处理与视觉化,这些应用套件包含:
-
数据视觉化的王者 ggplot2
-
数据处理的利器 dplyr
-
长宽表格转换的专家 tidyr
-
数据载入的 readr
-
循环的加速器 purrr
-
强化数据框 tibble

Stack Overflow 的数据科学家 David Robinson 在 DataCamp 开设了 Introduction to the Tidyverse 课程,课程时数约四小时,练习完这个课程使用者将会获得透过 dplyr 与 ggplot2 进行数据处理与视觉化的能力。
贯穿整个课程所使用的数据叫做gapminder。 Gapminder 是瑞典的非营利组织致力于提供简单易懂的资料与视觉化让国家之间的差距能够让大家看见,最著名的其中一位创办人是Hans Rosling,他在2006 年的TED 演讲“The best statistics you’ve never seen” 让我们对近两百年全球的国家发展有清晰的了解。
我们只要在 R 语言载入 gapminder 套件能够获得这个数据的精简版,它有 1704 个观测值、6 个变量(country、continent、year、lifeExp、pop 与 gdpPercap)。
数据查看
if(!require("gapminder")) {
install.packages("gapminder")
require("gapminder")
}
library("tidyverse")
dim(gapminder)
head(gapminder)

数据处理
完成练习之后,使用者将可以熟悉结合 pipe 运算子与 dplyr 做出类 SQL 查询的数据处理:
gapminder %>%
group_by(continent, year) %>%
summarize(medianLifeExp = median(lifeExp), maxGdpPercap = max(gdpPercap))

数据可视化
以及熟悉 ggplot2 绘图方法画出气泡图:
# 数据可视化
gapminder_1952 <- gapminder %>%
filter(year == 1952)
ggplot(gapminder_1952, aes(x = pop, y = lifeExp, color = continent, size = gdpPercap)) +
geom_point() +
scale_x_log10() +
theme_minimal()

总结
完成Introduction to the Tidyverse 课程之后,David Robinson 也推荐了几个DataCamp 的进阶课程作为使用者的下一站,像是Data Visualization with ggplot2、Data Manipulation with dplyr、Importing and cleaning data 与Exploratory Data Analysis in R : Case Study。
我认为让初学者从tidyverse 切入是一个值得尝试的教学方式,特别是在工作坊、讲座或者短时间的课程;假如使用者计划在未来会需要使用R 语言完成更细腻的需求时,再分配较充足的时间学习base R。
原文链接:
https://medium.com/datainpoint/tidyverse-r-%E8%AA%9E%E8%A8%80%E5%AD%B8%E7%BF%92%E4%B9%8B%E6%97%85%E7%9A%84%E6%96%B0%E8%B5%B7%E9%BB%9E-3b01ca6a348c
作者:Yao-Jen Kuo
版权声明:作者保留权利,严禁修改,转载请注明原文链接。
数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。
平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
我们努力坚持做原创,聚合和分享优质的省时的数据知识!
我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!
加入数据人圈子或者商务合作,请添加笔者微信。

点击阅读原文,进入数据人网,获取数据知识。
公众号推荐:
链达君,专注于分享区块链内容。

脚印英语,专注于分享英语口语内容。

请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!