数据集
mtcars %>% head() #预览案例数据集
names(mtcars)
table(mtcars$cyl) #cyl=4或者8的组大于7,cyl的类型有4,6,8

利用filter进行行筛选
单个条件
#单条件筛选
mtcars %>% filter(cyl==6)
mtcars %>% filter(near(cyl,6))
filter单条件筛选,可以直接传入列名;传入表达式进行筛选;注意遇到浮点数等号时候,最好采用near函数;这里两个表达式的结果是一样的

多个条件
#多条件筛选, 逗号隔开条件相当于and
mtcars %>% filter(cyl==4,mpg>21) # &
mtcars %>% filter(cyl==4 | mpg>21) #OR
其余操作符号表达式这里不再展示

filter_at,filter_all,filter_if 条件筛选
该部分功能已经有了更好的across替代。
筛选器筛选:vars;any_vars()存在 ;all_vars()全部
mtcars %>% filter_all(any_vars(.>300))

从所有行中筛选出存在值超过300的行
mtcars %>% filter_at(vars(disp,cyl,mpg),any_vars(.>300))

从指定的的变量中选取存在变量值超过300的行
mtcars %>% filter_if(is.numeric,any_vars(.>300))

筛选组
mtcars %>% group_by(cyl) %>% filter(n() >7)

网友评论