Thank you very much for your useful suggestions.
These are exactly what I was looking for.
foo <- list(foo1, foo2, foo3)
lapply(foo, function(x) matrix(unlist(x), nrow = length(x), byrow = TRUE))
or
lapply(foo, function(x) do.call('rbind', x))
Best, Muhammad Subianto
On 4/11/06, Muhammad Subianto <msubianto at gmail.com>
wrote:> Dear all,
> I have a result my experiment like this below (here my toy example):
>
> foo1 <- list()
> foo1[[1]] <- c(10, 20, 30)
> foo1[[2]] <- c(11, 21, 31)
>
> foo2 <- list()
> foo2[[1]] <- c(100, 200, 300)
> foo2[[2]] <- c(110, 210, 310)
>
> foo3 <- list()
> foo3[[1]] <- c(1000, 2000, 3000)
> foo3[[2]] <- c(1100, 2100, 3100)
>
> list(foo1,foo2,foo3)
>
> The result:
> > list(foo1,foo2,foo3)
> [[1]]
> [[1]][[1]]
> [1] 10 20 30
>
> [[1]][[2]]
> [1] 11 21 31
>
> [[2]]
> [[2]][[1]]
> [1] 100 200 300
>
> [[2]][[2]]
> [1] 110 210 310
>
> [[3]]
> [[3]][[1]]
> [1] 1000 2000 3000
>
> [[3]][[2]]
> [1] 1100 2100 3100
>
> >
> I want to convert like this below (as list).
>
> [[1]]
> [1] 10 20 30
> [2] 11 21 31
>
> [[2]]
> [1] 100 200 300
> [2] 110 210 310
>
> [[3]]
> [1] 1000 2000 3000
> [2] 1100 2100 3100
>
> I saw on the R-help archives page similar like this but I can't find a
> solution.
> http://tolstoy.newcastle.edu.au/R/help/05/05/4678.html
> Thanks very much for any suggestions.
>
> Sincerely, Muhammad Subianto
>
Thank you very much for your useful suggestions.
These are exactly what I was looking for.
foo <- list(foo1, foo2, foo3)
lapply(foo, function(x) matrix(unlist(x), nrow = length(x), byrow = TRUE))
or
lapply(foo, function(x) do.call('rbind', x))
Best, Muhammad Subianto
On 4/11/06, Muhammad Subianto <msubianto at gmail.com>
wrote:> Dear all,
> I have a result my experiment like this below (here my toy example):
>
> foo1 <- list()
> foo1[[1]] <- c(10, 20, 30)
> foo1[[2]] <- c(11, 21, 31)
>
> foo2 <- list()
> foo2[[1]] <- c(100, 200, 300)
> foo2[[2]] <- c(110, 210, 310)
>
> foo3 <- list()
> foo3[[1]] <- c(1000, 2000, 3000)
> foo3[[2]] <- c(1100, 2100, 3100)
>
> list(foo1,foo2,foo3)
>
> The result:
> > list(foo1,foo2,foo3)
> [[1]]
> [[1]][[1]]
> [1] 10 20 30
>
> [[1]][[2]]
> [1] 11 21 31
>
> [[2]]
> [[2]][[1]]
> [1] 100 200 300
>
> [[2]][[2]]
> [1] 110 210 310
>
> [[3]]
> [[3]][[1]]
> [1] 1000 2000 3000
>
> [[3]][[2]]
> [1] 1100 2100 3100
>
> >
> I want to convert like this below (as list).
>
> [[1]]
> [1] 10 20 30
> [2] 11 21 31
>
> [[2]]
> [1] 100 200 300
> [2] 110 210 310
>
> [[3]]
> [1] 1000 2000 3000
> [2] 1100 2100 3100
>
> I saw on the R-help archives page similar like this but I can't find a
> solution.
> http://tolstoy.newcastle.edu.au/R/help/05/05/4678.html
> Thanks very much for any suggestions.
>
> Sincerely, Muhammad Subianto
>
One other thought. If they are all of the same dimension you could alternately consider putting them into a 3d array: library(abind) abind(lapply(foo, function(x) do.call(rbind, x)), along = 3) which may or may not have some advantage to you. On 4/11/06, Muhammad Subianto <msubianto at gmail.com> wrote:> Thank you very much for your useful suggestions. > These are exactly what I was looking for. > > foo <- list(foo1, foo2, foo3) > lapply(foo, function(x) matrix(unlist(x), nrow = length(x), byrow = TRUE)) > or > lapply(foo, function(x) do.call('rbind', x)) > > Best, Muhammad Subianto > > On 4/11/06, Muhammad Subianto <msubianto at gmail.com> wrote: > > Dear all, > > I have a result my experiment like this below (here my toy example): > > > > foo1 <- list() > > foo1[[1]] <- c(10, 20, 30) > > foo1[[2]] <- c(11, 21, 31) > > > > foo2 <- list() > > foo2[[1]] <- c(100, 200, 300) > > foo2[[2]] <- c(110, 210, 310) > > > > foo3 <- list() > > foo3[[1]] <- c(1000, 2000, 3000) > > foo3[[2]] <- c(1100, 2100, 3100) > > > > list(foo1,foo2,foo3) > > > > The result: > > > list(foo1,foo2,foo3) > > [[1]] > > [[1]][[1]] > > [1] 10 20 30 > > > > [[1]][[2]] > > [1] 11 21 31 > > > > [[2]] > > [[2]][[1]] > > [1] 100 200 300 > > > > [[2]][[2]] > > [1] 110 210 310 > > > > [[3]] > > [[3]][[1]] > > [1] 1000 2000 3000 > > > > [[3]][[2]] > > [1] 1100 2100 3100 > > > > > > > I want to convert like this below (as list). > > > > [[1]] > > [1] 10 20 30 > > [2] 11 21 31 > > > > [[2]] > > [1] 100 200 300 > > [2] 110 210 310 > > > > [[3]] > > [1] 1000 2000 3000 > > [2] 1100 2100 3100 > > > > I saw on the R-help archives page similar like this but I can't find a > > solution. > > http://tolstoy.newcastle.edu.au/R/help/05/05/4678.html > > Thanks very much for any suggestions. > > > > Sincerely, Muhammad Subianto > > >