使用dplyr删除多个变量

j9per5c4  于 2023-05-04  发布在  其他
关注(0)|答案(2)|浏览(114)

Dataframe 具有以下变量:

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

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

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

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

xeufq47z

xeufq47z1#

您可以根据自己的需要构造一个正则表达式,并使用matches Package 器来相应地过滤您的列(@BenBolker进行了一些修改)

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

或者使用%<>%管道就地修改df1

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

r8uurelv2#

变量名可以在vector中提供:

df2 <- df1 |> dplyr::select(-starts_with(c("var1", "var2")))

相关问题