【R包】我用pacman和tidyverse包完成了70%的数据分析工作
专题介绍:R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器的R Studio(用户的界面体验更好)。也正是由于全世界越来越多的数据科学社区和用户对R包的慷慨贡献,让R语言在全球范围内越来越流行。其中一些R包,例如MASS,SparkR, ggplot2,使数据操作,可视化和计算功能越来越强大。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R的学术性开发比较早,适合生物学和医学等学术学科的科研人员使用。
【R语言】已开通R语言社群,五湖四海,天南地北,各行各业,有缘相聚,共享R事,雕刻数据,求解问题,以创价值。喜乐入群者,请加微信号luqin360,或扫描文末二维码,添加为好友,同时附上R-入群。有朋自远方来,不亦乐乎,并诚邀入群,以达相互学习和进步之美好心愿。
朋友们,我是James。
这一年,我经常用R语言做数据分析工作。趁着放假之际,我复盘了一下自己的代码,发现我用pacman包和tidyverse包就可以完成了70%的数据分析工作。
-
这两个包,大家用过吗?
-
这两个包,大家主要使用它们那些函数?做什么任务?
一、pacman包
它是一个R包管理工具,我在编写R代码的时候,首先会加载这个R包,然后利用p_load()函数加载所需要的R包。这个函数对于已经安装的额外R包会完成加载功能,类似library(‘pckname’)的效果;若是发现是没有安装额外R包,就是先执行R包的安装,然后再执行R包的加载。代码示例,如下所示。
# R包
library(pacman)
p_load(tidyverse)
二、tidyverse包
这个包,相信朋友们不会陌生。这些年,这个包,可是风光无限。甚至有很多人,建议R初学者,可以直接进入这个R包的学习和使用。
tidyverse包,它是一个用于数据科学的R包集合。所有R包都遵循一个基本的设计理念、语法和数据结构,极大提升我们做数据科学工作的效率,让我们做数据科学更便利。
我们要学习tidyverse包,可以阅读官方出版的一本书籍《R for Data Science》,在线阅读请点击阅读原文,即可进入学习。这本书籍的中文版,可以查阅文章【R语言与数据科学】。
我的R代码中,常用readr包的read_csv函数完成数据导入,数据导入是做数据工作的第一步。然后会利用dplyr包的glimpse函数对数据结构做个整体认知,了解数据有多少样本,多少列,每一列是什么数据类型。第三,使用dplyr包的sample_n函数和tibble包的view函数组合来随机检视数据。第四,使用dplyr包的select函数选择数据集的列,filter函数过滤数据集的行,mutate函数衍生新的变量,arrange函数对数据排序,group_by函数和summarise函数组合使用做分组汇总操作等。第五,使用tidyr包的drop_na函数删除缺失值的样本,这是缺失值处理的一种策略,适合含有较小比例缺失值的样本,使用pivot_longer函数把宽数据集转化为长数据集,pivot_wider函数把长数据集转化为宽数据集。第六,数据集成这块,采用dplyr包提供left_join,inner_join等系列函数。第七,使用ggplot2包做数据可视化,一方面做探索性分析,另一方面做结果展示。最后,有时候为了提升编程的效果,减少重复性工作,会采用函数式编程,需要用到purrr包。我在实际数据分析工作,常用的这些R包和函数,都囊括到tidyverse包了。这些内容的具体学习,建议你阅读前面提到书籍《R for Data Science》。
mtcars %>% glimpse()
mtcars %>%
%>%
tibble::view()
做个小结,我在做实际数据分析任务中,使用pacman包做R包管理工作,使用readr包做数据导入工作,使用dplyr包做数据整理和准备的工作;使用tidyr包做数据的整洁和转换工作;使用purrr包做函数式编程;使用ggplot包做数据可视化工作。你一旦应用好pacman和tidyverse包,就可以有效完成70%的数据分析任务了。
朋友们,可以扫描我的微信号,备注“R-入群”。我会邀请你加入R语言群,咱们一起讨论与学习。
R书籍推荐
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!