[Muenchen, Robert A (Bob)] >I'm using the subset function to select a list of variables, some of >which are contiguous in the data frame, and others of which are not. It >works fine when I use the form:
>subset(mydata,select=c(x1,x3:x5,x7)) >In reality, my list is far more complex. So I would like to store it in >a variable to substitute in for c(x1,x3:x5,x7) but cannot get it to >work. That use of the c function seems to violate R rules, so I'm not >sure how it works at all. A small simulation of the problem is below. >mydata <- data.frame( > x1=c(1,2,3,4,5), > x2=c(1,2,3,4,5), > x3=c(1,2,3,4,5), > x4=c(1,2,3,4,5), > x5=c(1,2,3,4,5), > x6=c(1,2,3,4,5), > x7=c(1,2,3,4,5) >) >mydata ># This does what I want. >summary(subset(mydata, select=c(x1, x3:x5, x7))) Maybe: variables <- expression(c(x1, x3:x5, x7)) and later: summary(subset(mydata, select=eval(variables))) However, I do not know how one computes the expression piecemeal, that is, better than by building a string and parsing the result. -- François Pinard http://pinard.progiciels-bpi.ca ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.