Science相关 杂

dplyr-filter行筛选

2020-10-01  本文已影响0人  Mylonely

数据集

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

利用filter进行行筛选

单个条件

#单条件筛选
mtcars %>% filter(cyl==6)
mtcars %>% filter(near(cyl,6))

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


image.png

多个条件

#多条件筛选,  逗号隔开条件相当于and
mtcars %>% filter(cyl==4,mpg>21) # &
mtcars %>% filter(cyl==4 | mpg>21) #OR

其余操作符号表达式这里不再展示

image.png

filter_at,filter_all,filter_if 条件筛选

该部分功能已经有了更好的across替代。
筛选器筛选:vars;any_vars()存在 ;all_vars()全部

mtcars %>% filter_all(any_vars(.>300))
image.png

从所有行中筛选出存在值超过300的行

mtcars %>% filter_at(vars(disp,cyl,mpg),any_vars(.>300)) 
image.png

从指定的的变量中选取存在变量值超过300的行

mtcars %>% filter_if(is.numeric,any_vars(.>300))
image.png

筛选组

mtcars %>% group_by(cyl) %>% filter(n() >7)
image.png
上一篇 下一篇

猜你喜欢

热点阅读