第2章 R语言数据处理基础
在R中有许多用于数据框基本操作的内置函数,比如transform()、rbind()、cbind()等函数,都是基于base包的。base包是安装R时会自带的包,无须加载包就可以直接使用。除此之外,还有如下几种常用的数据处理的包。
(1)dplyr包:dplyr包是Hadley Wickham(ggplot2包的作者,被称作“一个改变R的人”)的杰作,并自称a grammar of data manipulation,他将原本plyr包中的ddply()等函数进一步分离强化,专注接受dataframe对象,大幅提高了速度,并且提供了更稳健地与其他数据库对象间的接口。该包常用的函数包括:变量筛选函数select()、记录筛选函数filter()、排序函数arrange()、变形(计算)函数mutate()、汇总函数summarize()、分组函数group_by()、随机抽样函数sample_n()和sample_frac(),以及多步操作连接符%>%等。
(2)tidyr包:在具体应用中,tidyr包经常与dplyr包共同使用,目前渐有取代reshape2包之势,是值得关注的一个R包。在tidyr包中,有4个常用的函数,分别是:gather()函数用于将宽数据转换为长数据;spread()函数用于将长数据转换为宽数据;unite()函数用于将多列数据合并为一列数据;separate()函数用于将一列数分离为多列数。
(3)reshape2包:reshape2包是由Hadley Wickham开发的用于数据重构的包,主要功能函数为melt()、cast(),其实现了长数据和宽数据之间的转换,包中还包含add_margin()等其他函数和french_fries(三种不同的油对薯条口感的影响)等数据集。
(4)tidyverse包:tidyverse是由Hadley Wickham于2017年创建的R包的集合,它“分享整洁数据的基础设计理念、语法和数据结构”。核心软件包是ggplot2、dplyr、tidyr、readr、purrr、tibble、stringr和forcats,它们提供了建模、转换和可视化数据的功能。更多内容可以见他出版的新书R for Data Science。其中,readr包用于读取数据,tidyr包用于整理数据,dplyr包用于数据转换,ggplot2包用于数据可视化,purrr包用于函数式编程。大家如对此有兴趣,可以更加深入地学习。