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

Guo Wei-Wei wwguocn at gmail.com
Wed May 31 04:27:42 CEST 2006


Thank you. I made a mistake in my previous email. What I mean is:

data.new[,"G1"]  <- (data.old[,"XG1"] + data.old[,"YG1"])/2

data.old[, regexpr("G1", colnames(data.old)) > 0]
is a nice way, but there are about 100 "X*"s and "Y*"s. Can I do some
comparision on all those column names and get columns with similar
parts?

2006/5/31, Gabor Grothendieck <ggrothendieck at gmail.com>:
> On 5/30/06, Guo Wei-Wei <wwguocn at gmail.com> wrote:
> > Dear all,
> >
> > I have a data.frame which has names as following.
> > [1] "XG1"  "YG1"  "XEST"     "YEST"
> > [2] "XNOEMP1"  "XNOEMP2" "YNOEMP1"  "YNOEMP2"
> > [3] "XBUS10"   "XBUS10A" "XBUS10B"  "XBUS10C"
> > [4] "YBUS10"   "YBUS10A"  "YBUS10B"  "YBUS10C"
> > [5] "XOWNBUS"  "XSELFEST"  "YOWNBUS"  "YSELFEST"
> >
> > Those columns have names beginning with "X" or "Y". Each "X" is paired
> > by a "Y", e.g. "XG1" and "YG1", but they are not in the order of "X Y
> > X Y ...". I want to combine "X*" and "Y*" like this:
> >
> > data.new[,"G1"]  <- (data.old[,"XG1"] + endata.use[,"YG1"])/2
> >
> > How to choose columns by parts of names? For example, I can pick out
> > XG1 and YG1 because they have the common part "G1".
> >
>
>
> This gives all columns whose column name contains G1:
>
> data.old[, regexpr("G1", colnames(data.old)) > 0]
>



More information about the R-help mailing list