dplyr-select列筛选

select函数族选择列

mtcars %>% select(mpg,cyl,disp)
mtcars %>% select(c(mpg,cyl,disp))
mtcars %>% select(c('mpg','cyl','disp'))

上面三种筛选,都是筛选出mpg,cyl,disp三列,其中
c(),选择多列,传入列名即可,该方法可以针对某些函数不适用变量名的情况,比如某些函数不适用CC.a类似的包含符号 “.”的 变量名


image.png
mtcars %>% select(mpg:disp) # :选择连续多列

: 操作符,表明我们选取的是包含mpg,disp及其之间的列

mtcars %>% select(!mpg) #不选择某列

助手函数帮助筛选

  • starts_with() ; ends_with()
  • contains()
  • matches()
  • num_range()
  • everything()

开头starts_with,结尾ends_with,可以通过&,|,!等操作符组合使用

mtcars %>% select(starts_with('a')) %>% head()
mtcars %>% select(ends_with('a')) %>% head()
image.png

contains,包含某字符即可查找

mtcars %>% select(contains('a'))
image.png

针对宽数据的类型的变量筛选系列变量

billboard %>% head()
billboard %>% select(num_range("wk", 10:15)) #选取wk前缀,后缀是10-15的列

这里wk是多期的测量值,有wk1,wk2 ... wk17等,我们可以利用num_range,任意筛选


image.png

类似的还可以这样

billboard %>% select(num_range("wk", c(1,3,5)))

num_range的第一个参数传入的是变量前缀,后面一组取值,相当于是后缀


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。