0

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

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

对于矩阵 A;

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

对于矩阵 B;

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

对于矩阵 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)相同的大小。

4

1 回答 1

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

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

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"
于 2013-11-05T11:29:46.393 回答