Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
408 views
in Technique[技术] by (71.8m points)

r - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...