On Aug 24, 2009, at 11:16 AM, Daniel Nordlund wrote:
If I have two matrices like
x <- matrix(rep(c(1,2,3),3),3)
y <- matrix(rep(c(4,5,6),3),3)
How can I combine them to get ?
1 1 1 4 4 4
1 1 1 5 5 5
1 1 1 6 6 6
2 2 2 4 4 4
2 2 2 5 5 5
2 2 2 6 6 6
3 3 3 4 4 4
3 3 3 5 5 5
3 3 3 6 6 6
The number of rows and the actual numbers above are unimportant,
they are given so as to illustrate how I want to combine the
matrices. I.e., I am looking for a general way to combine the first
row of x with each row of y, then the second row of x with y, ....
Thanks,
Dan
nr.x <- nrow(x)
nr.y <- nrow(y)
> cbind(x[rep(1:nr.x, each = nr.x), ], y[rep(1:nr.y, nr.y), ])
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 1 1 4 4 4
[2,] 1 1 1 5 5 5
[3,] 1 1 1 6 6 6
[4,] 2 2 2 4 4 4
[5,] 2 2 2 5 5 5
[6,] 2 2 2 6 6 6
[7,] 3 3 3 4 4 4
[8,] 3 3 3 5 5 5
[9,] 3 3 3 6 6 6
HTH,
Marc Schwartz
______________________________________________
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.