小编use*_*549的帖子

绑定 3d 数组中的工作表行以制作 2d 数组

我有一个 3 维数组,并希望通过逐行堆叠一维(组合一维行)来折叠为二维数组。在我的代码中,我在每个索引处填充了一个二维数组的“工作表”(第 3 维),现在我想获取该 3 维数组并将这些工作表的行堆叠在一起。

这是一个示例数组,因此我可以解释我希望最终结果的样子:

x <- array(1:24, dim=c(2, 3, 4),
           dimnames=list(letters[1:2], LETTERS[1:3], letters[23:26]))
dim(x)
Run Code Online (Sandbox Code Playgroud)

我希望w, x, y,z在一个二维数组中相互堆叠,该数组有 8 行和 3 列。这是一种麻烦的方法(并且在我的循环中不可能):

x1<-x[,,1]
x2<-x[,,2]
x3<-x[,,3]
x4<-x[,,4]

All<-rbind(x1,x2,x3,x4)
Run Code Online (Sandbox Code Playgroud)

我已经看过了abindadrop但他们不太正确。

我也试过,aperm但我认为你不能用这个来减少尺寸,只是转置(?)

或者,我可以创建一个list(这将是理想的,实际上,因为数组可能具有不同的行号)。在这种情况下,我将如何以相同的方式组合列表中多个元素的行?

谢谢!

arrays r multidimensional-array collapse rbind

4
推荐指数
1
解决办法
942
查看次数

标签 统计

arrays ×1

collapse ×1

multidimensional-array ×1

r ×1

rbind ×1