如何减少R中数组的大小

时间:2018-02-21 16:36:58

标签: arrays r merge apply dimensions

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

当使用2维数组时,我使用的函数是as.vector,但我坚持使用更大的数组。是否有像apply这样的函数?

谢谢

1 个答案:

答案 0 :(得分:2)

一些示例数据:

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

[1] 12000   100    20     4

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

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

[1] 12000   2000    4