[R] Merge list to list - as matrix
Gabor Grothendieck
ggrothendieck at gmail.com
Mon Aug 28 13:53:52 CEST 2006
Here are two ways:
1. use indexes:
lapply(seq(along = x), function(i) cbind(x[[i]], y[[i]]))
2. use mapply:
mapply(cbind, x, y, SIMPLIFY = FALSE)
On 8/28/06, Muhammad Subianto <msubianto at gmail.com> wrote:
> Dear all,
>
> I have dataset
> x <- list(matrix(1:20, 5, 4),matrix(1:20, 5, 4),matrix(1:20, 5, 4))
> y <- list(matrix(110:114, 5, 1),matrix(110:114, 5, 1),matrix(110:114, 5, 1))
>
> I need merge x and y as list (y put in last column).
> The result is something like
>
> [[1]]
> [,1] [,2] [,3] [,4] [,5]
> [1,] 1 6 11 16 110
> [2,] 2 7 12 17 111
> [3,] 3 8 13 18 112
> [4,] 4 9 14 19 113
> [5,] 5 10 15 20 114
>
> [[2]]
> [,1] [,2] [,3] [,4] [,5]
> [1,] 1 6 11 16 110
> [2,] 2 7 12 17 111
> [3,] 3 8 13 18 112
> [4,] 4 9 14 19 113
> [5,] 5 10 15 20 114
>
> [[3]]
> [,1] [,2] [,3] [,4] [,5]
> [1,] 1 6 11 16 110
> [2,] 2 7 12 17 111
> [3,] 3 8 13 18 112
> [4,] 4 9 14 19 113
> [5,] 5 10 15 20 114
>
> I have tried
> a <- list(x,y)
> as.data.frame(t(sapply(a, rbind)))
> lapply(a, function(x) matrix(unlist(x), nrow = length(x), byrow = TRUE))
> but I don't know how to fix it.
>
> Regards, Muhammad Subianto
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list