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