On Thu, Jul 16, 2009 at 4:44 PM, Erik Iverson<eiver...@nmdp.org> wrote: > I have a list of logical expressions, and I would really like it if the > "names" of the components of the list were identical to the corresponding > logical expression. > > So, as an example: > > df.example <- data.frame(a = 1:10, b = rnorm(10, 5)) > > list.example <- list(df.example$a > 7, > df.example$b < 4) > > Now what I'd really like is to name the components, and get the results of > the following line without having to specify the right-hand side individually > for each component: > > names(list.example) <- c("df.example$a > 7", "df.example$b < 4")
Something like this, perhaps?: > listx <- function(...) > structure(list(...),names=tail(as.list(substitute(c(...))),-1)) > list.example <- list(df.example$a > 7, df.example$b < 4) > listx(df.example$a > 7, df.example$b < 4) $`df.example$a > 7` [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE $`df.example$b < 4` [1] TRUE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE ______________________________________________ R-help@r-project.org 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.