我想知道是否有办法将两个不同维度的矩阵组合成一个数组。我知道有函数abind(),但该函数不允许矩阵的不同维度。我需要这个,因为我使用JAGS(带有R2jags或rjags),这些包不允许数据以列表形式存在。但是,当我输入数组时,它确实有效。
当我有以下两个矩阵时:
a <- matrix(0, 3, 2)
b <- matrix(0, 4, 6)
a
[,1] [,2]
[1,] 0 0
[2,] 0 0
[3,] 0 0
b
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
[4,] 0 0 0
理想情况下我会这样:
abind(a,b, along = 3)
, , 1
[,1] [,2]
[1,] 0 0
[2,] 0 0
[3,] 0 0
, , 2
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
[4,] 0 0 0
答案 0 :(得分:0)
您可以尝试将矩阵视为一个dimmensional数组,从技术上讲它们就是这样。 如果你看一个3X3的矩阵'a',你试图访问[2] [1],例如它等于[2 * 3 + 1]。您可以使用它来遍历矩阵并将它们组合起来。
答案 1 :(得分:-1)
d=list(a,b)
我希望这就是你想要的 就是这样