On Dec 11, 2009, at 5:33 PM, 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.

> matrix(unlist(lapply(output, "[", "vec")), ncol=2)
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

Or maybe even more directly:

> sapply(output, "[[", "vec")
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
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