rwjones
rwjones

Reputation: 377

Selecting multiple columns in data frame using partial column name

I have a data frame, DF, and the column names all contain color names:

red_balloons green_balloons red_balls blue_balls green_hats red_horses yellow_things

What I would like to do is select multiple columns based on more than one color name. I can select one column at a time like this:

grep("red", colnames(DF))

But I cannot figure out or find out how to select multiple columns. I tried this:

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

But got the following warning:

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

Suggestions?

Upvotes: 1

Views: 3706

Answers (1)

MrFlick
MrFlick

Reputation: 206232

You can use "|" for "or" in grep

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

Upvotes: 3

Related Questions