我有一个数据框,其中大多数列名称如下:
tre_ui_1920
tre_ui_2221
tre_ui_8989
和类似
foo_bar_123
foo_bar_456
我要删除属于foo_bar_*
和tre_ui_*
的所有列
我在R中看到很少的代码建议使用子集和索引。 有更好的方法吗?
答案 0 :(得分:1)
我们可以使用grepl
根据列名中的模式返回逻辑索引
i1 <- !grepl("foo_bar_|tre_ui_", names(df1))
subdf1 <- df1[i11]
答案 1 :(得分:0)
这很容易在dplyr
中完成:
dat %>% select(matches("foo_bar_|tre_ui_"))