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 <[EMAIL PROTECTED]>: > On 5/30/06, Guo Wei-Wei <[EMAIL PROTECTED]> 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] > ______________________________________________ R-help@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