Jennifer -
   Does this do what you want?

v1 = sapply(output,'[[','vec')
v2 = sapply(output,'[[','other')
v1
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10
v2
[1] "stuff" "stuff"

(in more readable form:

v1 = sapply(output,function(x)x$vec)
v2 = sapply(output,function(x)x$other)    )


Notice that if the objects returned by sapply are not conformable,
it will return its result in a list.


                                        - Phil Spector
                                         Statistical Computing Facility
                                         Department of Statistics
                                         UC Berkeley
                                         spec...@stat.berkeley.edu



On Fri, 11 Dec 2009, Jennifer Young wrote:

Good evening

I often have as output from simulations a list of various values, vectors
and matrices.
Supposing that I then run said simulation several times, I often want to
extract a particular result from each simulation for plotting and,
ideally, put it in a matrix.

A simple example

v1 <- 1:5
v2 <- 6:10
other1 <- "stuff"
other2 <- "stuff"

set1 <- list(v1,other1)
names(set1) <- c("vec","other")
set2 <- list(v2,other2)
names(set2) <- c("vec","other")

output <- list(set1, set2)


Is there some form of lapply() that will allow me to extract v1 and v2
(ie, the $vec elements) from both sets?
Bonus if I can then put it into a matrix tidily.

many thanks
Jennifer Young

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


______________________________________________
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