使用部分列名称在数据框中选择多个列

时间:2014-06-16 19:34:52

标签: regex r grep

我有一个数据框DF,列名都包含颜色名称:

red_balloons green_balloons red_balls blue_balls green_hats red_horses yellow_things

我想要做的是根据多个颜色名称选择多个列。我可以像这样一次选择一列:

grep("red", colnames(DF))

但我无法弄清楚或了解如何选择多列。我试过这个:

grep(c("red", "blue"), colnames(DF))

但得到了以下警告:

Warning message:
In grep(c("mean()", "std()"), colnames(L21), value = FALSE) :
   argument 'pattern' has length > 1 and only the first element will be used

建议?

1 个答案:

答案 0 :(得分:2)

您可以使用" |"为"或"在grep中

grep("red|blue", DF, value=T)
# [1] "red_balloons" "red_balls"    "blue_balls"   "red_horses"