[R] extracting vectors from lists of lists
David Winsemius
dwinsemius at comcast.net
Fri Dec 11 23:42:43 CET 2009
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
More information about the R-help
mailing list