在R中有很多的内置函数,比如transform()、rbind()、cbind()等函数,这些函数我们可以直接使用,除此之外,还有常见的几种包在处理数据的时候非常好用。
dplyr包
dplyr包是Hadley Wickham(ggplot2包的作者,被称为‘一个改变R的人’)的杰作, dplyr可用于处理R内部或者外部的结构化数据,相较于plyr包,dplyr专注接受dataframe对象, 大幅提高了速度,并且提供了更稳健的数据库接口。
一、筛选: filter系列
filter、filter_all、filter_at、filter_if
用法:filter(.data, 条件...)
这里我们用R的内置数据集作为例子(mtcars)
filter(mtcars, cyl == 8)
filter(mtcars, cyl < 6)
#过滤出cyl < 6 并且 vs == 1的行
filter(mtcars, cyl < 6 & vs == 1)
filter(mtcars, cyl < 6, vs == 1)
#过滤出cyl < 6 或者 vs == 1的行
filter(mtcars, cyl < 6 | vs == 1)
#过滤出cyl 为4或6的行
filter(mtcars, cyl %in% c(4, 6))
基于filter函数的用法,扩展出了一些新的函数
1filter_all(mtcars, any_vars(. > 150)) #筛选任何变量>150的样本
2