如何减少 R 中数组的维数

How to reduce the dimensions of an array in R

我有一个 4 维数组 c(12000, 100, 20, 4),我想将两个维度合并为一个(第二个和第三个)以创建一个新的 3 维数组 c(12000, 2000, 4)

当使用二维数组时,我使用的函数是as.vector,但我无法使用更大的数组。有没有类似apply的函数?

谢谢

一些示例数据:

x <- array(1:(12000*100*20*4), dim=c(12000, 100, 20, 4))
dim(x)

[1] 12000   100    20     4

使用 R.utils 中的 wrap 合并除 1 和 4 之外的所有维度 (NA):

library(R.utils)
y <- wrap(x, map=list(1, NA, 4))
dim(y)

[1] 12000   2000    4