dplyr 是一个做数据框处理和汇总的包, 有着更简单的语法和更快的处理速度, 功能十分强大. dplyr 的目的就是设计一个数据处理的语法, 通过这个语法可以设计一些简单的操作方式, 针对data.frame 或者一个数据库中的数据进行同样的数据操作。
dplyr 把大部分数据处理的形式写成了一些基本函数, 我们能够很容易的调用它, 并且提供了简单的处理语法, 便于快速编写R 代码, 同时它能够快速完成计算。
dplyr 定义的数据类型是tbl, 也可以接受data.frame, cube, sql 对象. tbl 对象的特征将结合例子进行说明.首先进行安装: install.packages(“dplyr”).
tbl可以当作date.frame操作,反之不可。
数据对象:tbl对象
使用dplyr包预处理时建议使用tbl_df()或tbl_cube()或tbl_sql()函数将原数据转换为tbl对象
|
|
dplyr 的基本函数有五个, 分别为filter(), select(), arrange(),mutate(), 和summarise(). 这五个数据函数有相同的输入模式, 第一个选项为数据框或者tbl 对象, 之后选项为筛选(运算) 条件, 最后输出的结果和输入的数据的类型相同.
select:用于选取一列或者多列
filter:用于选取特定条件下的某些行
arrange:用于实现数据一列或多列的升降排序
mutate:用于在数据集中添加列
summarise:用于实现数据汇总(配合group_by使用效果更佳)
筛选:filter()
对列条件刷选 返回满足观测条件的观测值 :按给定的逻辑判断筛选出符合要求的子数据集, 类似于 base里面subset() 函数
|
|
选择:select()
用列名作参数来选择子数据集
select()函数可以筛选指定的变量,而且选择变量时也可以重新命名变量。如果要剔除某些变量,只需要在变量前加上负号”-“.
select()函数,传递的参数:
starts_with(“x”,ignore.case = TRUE) # 选择以字符x开头的变量 , 默认忽略大小写
ends_with(“x”) # 选择以字符x结尾的变量
contains(“x”) #选择所有包含x的变量
matches(“x”) #选择匹配正则表达式的变量
num_range(“x”,1:5,width = 2) #选择从x01到x05的数值型变量
one_of(“x”,”y”,”z”) #选择包含在声明变量中的变量
everything() #选择所有变量,一般调整数据集中变量顺序时使用
|
|
排列 arrange()
|
|
变形 mutate()
与 base::transform() 相似, 优势在于可以在同一语句中对刚增加的列进行操作
|
|
汇总:summarise()
在使用时需注意, summarise() 的汇总函数是以向量为输入, 单一值为输出的函数
|
|
分组:group_by()
|
|
变量重命名 rename()
|
|
选取行:随机sample()&非随机slice()
|
|
数据关联 join()
|
|
数据合并 bind_cols() & bind_rows()
|
|
计数函数:count()
|
|
管道函数 %>%
dplyr包特有,即通过%>%将上一个函数的输出作为下一个函数的输入,免写数据名。
|
|
小技巧函数
|
|
连接数据库
|
|