我有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)一样大小。
答案 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
如果您想将其视为单个“矩阵”,可以使用apply
和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"