# [R] Combining matrices

Marc Schwartz marc_schwartz at me.com
Mon Aug 24 18:46:37 CEST 2009

```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

```

More information about the R-help mailing list