[R] How to choose columns in data.frame by parts of columns' names?

Gabor Grothendieck ggrothendieck at gmail.com
Wed May 31 14:01:31 CEST 2006


Use rowMeans:

rowMeans(iris[, regexpr("Sepal", colnames(iris)) > 0])

gives the means of each row of iris using only the columns
whose names contain "Sepal".

On 5/31/06, Guo Wei-Wei <wwguocn at gmail.com> wrote:
> Gabor and Peter,
>
> Thank you. Both of you give me excellent ways. I have a further problem.
>
> How can I get the common parts of column names as column names in a
> new data.frame? For example, I combines data of XG1 and YG1 in
> data.old and get a new column in data.new named G1. Can It be done
> automaticlly?
>
>  data.new[,"G1"]  <- (data.old[,"XG1"] + data.old[,"YG1"])/2
>
>
> 2006/5/31, Gabor Grothendieck <ggrothendieck at gmail.com>:
> > This is not restricted to single matches:
> >
> > > colnames(iris)
> > [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species"
> > > regexpr("Sepal", colnames(iris)) > 0
> > [1]  TRUE  TRUE FALSE FALSE FALSE
> >
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



More information about the R-help mailing list