通过 dplyr 过滤列名数据框

Filter column names dataframe by dplyr

我想过滤我的数据并删除其中名称为 'Yesterday' 的列。通过在 r

中使用 Dplyr 包

如果要删除以 'Yesterday' 开头的列,可以使用 starts_with

library(dplyr)
df %>% select(-starts_with('Yesterday'))

或者 matches 如果您想要删除名称中任意位置具有 'Yesterday' 的列。

df %>% select(-matches('Yesterday'))

您还可以使用:

library(dplyr)
#Data
df <- data.frame(Sr.No=1:2,
                 Today_Age=11:12,
                 Yesterday_Age=c(21,32),
                 Today_Height=c(23,22),
                 Yesterday_Height=c(21,33))
#Code
new <- df %>% select(!contains('Yesterday'))

输出:

  Sr.No Today_Age Today_Height
1     1        11           23
2     2        12           22

因为 OP 被标记为 sql-likedata.table 包中存在类似的东西:

library(data.table)
df[!names(df) %like% 'Yesterday']