Hi,

Perhaps Hadley's plyr package can help,

library(plyr)
temp <- list(x=2,y=3,x=4)
llply(temp, function(x) x^2 )

$x
[1] 4

$y
[1] 9

$x
[1] 16


baptiste

On 27 Feb 2009, at 03:07, Alexy Khrabrov wrote:

Sometimes I'm iterating over a list where names are keys into another
data structure, e.g. a related list.  Then I can't use lapply as it
does [[]] and loses the name.  Then I do something like this:

do.one <- function(ldf) { # list-dataframe item
  key <- names(ldf)
  meat <- ldf[[1]]
  mydf <- some.df[[key]] # related data structure
  r.df <- cbind(meat,new.column=computed)
  r <- list(xxx=r.df)
  names(r) <- key
  r
}

then if I operate on the list L of those ldf's not as lapply(L,...), but

res <- lapply(1:length(L),do.one)

Can this procedure be simplified so that names are preserved?
Specifically, can the xxx=..., xxx <- key part be eliminated -- how
can we have a variable on the left-hand side of list(lhs=value)?

Cheers,
Alexy

______________________________________________
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.

_____________________________

Baptiste AuguiƩ

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag

______________________________________________
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.

Reply via email to