什么是R的rbind和cbind的多维等价物?

Rya*_*son 50 r multidimensional-array matrix-multiplication

在R中使用矩阵时,可以将它们并排放置或分别使用cbind和rbind将它们堆叠在一起.在其他维度堆叠矩阵或数组的等效函数是什么?

例如,下面创建一对2x2矩阵,每个矩阵有4个元素:

x = cbind(1:2,3:4)
y = cbind(5:6,7:8)
Run Code Online (Sandbox Code Playgroud)

将它们组合成具有8个元素的2x2x2数组的代码是什么?

mds*_*ner 57

abind包装.如果您希望它们在第三维上绑定,请执行以下操作:

library(abind)
abind(x, y, along = 3)
Run Code Online (Sandbox Code Playgroud)

看到 ?abind

此外,abind提供了更多便利,但对于简单绑定,您可以根据默认顺序直接操作值:

array(c(x, y), dim = c(2, 2, 2))
Run Code Online (Sandbox Code Playgroud)

  • 如果我想将新矩阵“z”添加到现有数组“my.array”,这似乎可以工作:“array(c(my.array, z), dim = c(dim(my.array) )[1], 暗淡(my.array)[2], 3))` (3认同)