R dplyr 核心函数

2023-01-02  本文已影响0人  重拾生活信心

dplyr

5个核心函数 + group_by() + 辅助函数()

1 filter() : 按值筛选观测

筛选出条件为TRUE的行

1.1 比较运算符

> , >= , < ,<= , != (不等于),== (等于)

1.2 逻辑运算符

& (与), |(或) , !(非)

[图片上传失败...(image-ffec3d-1672729920760)]

1.3 缺失值

NA(not available) , 在运算中会传递。
filter()只保留 TRUE 的行, 排除 FALSE 和NA 。
保留NA :filter(df, is.na(x) | x > 1)

2 arrange() : 对行进行重新排序

arrange(data , var1,desc(var2)) 后面的列在前面的基础上继续排序。使用desc()进行降序排序。NA值不论升序还是降序,都在最后。

3 select() : 按名称选取变量

select(data , var1 , var2 ...)

#可以用数字序号表示列范围,如
select(flights, 3:5)
# 按列名选择
select(flights, year, month, day)
# 选择 year 、 day 之间 所有列 包括 year 和 day
select(flights, year:day)
# 选择 ..以外的列
select(flights, -(year:day))

3.1 select() 常用辅助函数

3.2 rename () 重命名

select() 的变体。用 select()重命名,没被罗列的列不被选择。 而rename()保留所有列。
select(data ,new_name = old_name)
rename(data ,new_name = old_name)

3.3 +everything() 把几个变量移至数据框前部

everything(): 代指所有选中的变量
select(data, var9, var10, everything())

3.4 all_of() ,any_of()

变量名已经保存为一个字符型向量
R的字符串函数(如paste())和正则表达式函数可以用来生成变量名子集, 然后在select中配合all_of()使用。 all_of()要求指定的所有变量名都是数据框中存在的; 如果指定的变量有些可能是不存在的, 想将确实存在的那些变量选取进来, 应使用any_of()

4 mutate() : 使用现有的变量创建新变量

保留原有列,将新列添加在最后。transmute()只保留新变量。

4.1 常用创建函数

5 summarize() : 将多个值总结为一个摘要统计量

可以将数据框折叠成一行

5.1 使用管道符%>%组合多种操作

如果一行代码需要输入的参数值刚好是它前一行的输出结果,可以使用%>%省略中间的输入过程。参数不是位于第一的位置,需要额外使用占位符 .

x %>% func (arg) ,即func(x,arg)
x %>% func (arg,.) ,即func(arg,x)

5.2 NA

聚合函数都有一个na.rm参数,可以在计算前去除缺失值.

5.3 计数

聚合函数中包括一个计数n(),或 非缺失值的计数sum(!is.na())是比较好的选择。
(TRUE :1 ,FALSE:0)

5.4 常用摘要函数

6 group_by() : 分组

group_by()函数可以将分析单位从整个数据集更改为单个分组。接下来,在分组的数据框上使用dplyr函数时,它们会自动的应用到每个分组。

上一篇下一篇

猜你喜欢

热点阅读