使用dplyr删除多个变量

时间:2015-11-22 14:58:40

标签: r dplyr

数据框具有以下变量:

names(df1)
"var1_a" "var1_b" "var2_a" "var2_b" "var3_a" "var4_a"

使用dplyr删除变量如下 - 一次一个var:

df2 <- df1 %>% select(-starts_with(("var1"), everything()))
df2 <- df2 %>% select(-starts_with(("var2"), everything()))

使用“dplyr”,有没有办法将两行连接成一个?

1 个答案:

答案 0 :(得分:2)

您可以根据需要构建一个正则表达式,并使用matches包装器来相应地过滤列(通过@BenBolker的一些修改)

df2 <- df1 %>% select(-matches("^var[12]"))

或者只需使用df1管道

修改%<>%
library(magrittr)
df1 %<>% select(-matches("^var[12]"))