我们如何合并矩阵

时间:2013-11-05 11:15:48

标签: r matrix

我有3个大小完全相同的矩阵。我想将它们合并到一个相同大小的矩阵中。

A <- array(0,c(10,20))

对于Matrix A;

      [1] [2] [3] .. [20]
 [1]  A11 A12 A13 .. A120 
 [2]
  ..
[10]

对于Matrix B;

      [1] [2] [3] .. [20]
 [1]  B11 B12 B13 .. B120 
 [2]
  ..
[10]

对于Matrix C;

      [1] [2] [3] .. [20]
 [1]  C11 C12 C13 .. C120 
 [2]
  ..
[10]

我不知道怎么做,但我希望输出如下: -

输出矩阵D;

                    [1]               [2]   ..            [20]
 [1]      (A11,B11,C11)     (A12,B12,C12)  .. (A120,B120,C120) 
 [2]
  ..
[10]   (A101,B101,C101)  (A102,B102,C102) 

我尝试过使用cbind命令,但它结合了所有三个矩阵,行变得太长。我想要像单个矩阵(10x20)一样大小。

1 个答案:

答案 0 :(得分:0)

您可能想要使用array,例如:

x <- matrix(1:9,3)
y <- matrix(10:18,3)
z <- matrix(19:27,3)

arr <- array(c(x,y,z), dim=c(dim(x),3))
arr[1,1,]
[1]  1 10 19

如果您想将其视为单个“矩阵”,可以使用applypaste

apply(arr,1:2,paste,collapse=",")
     [,1]      [,2]      [,3]     
[1,] "1,10,19" "4,13,22" "7,16,25"
[2,] "2,11,20" "5,14,23" "8,17,26"
[3,] "3,12,21" "6,15,24" "9,18,27"