【发布时间】:2018-08-01 08:03:20
【问题描述】:
我有一个具有 4 维 c(12000, 100, 20, 4) 的数组,我想将两个维合并为一个(第二个和第三个)以创建一个具有 3 个维 c(12000, 2000, 4) 的新数组。
当使用二维数组时,我使用的函数是as.vector,但我坚持使用更大的数组。有apply这样的功能吗?
谢谢
【问题讨论】:
标签: arrays r merge apply dimensions
我有一个具有 4 维 c(12000, 100, 20, 4) 的数组,我想将两个维合并为一个(第二个和第三个)以创建一个具有 3 个维 c(12000, 2000, 4) 的新数组。
当使用二维数组时,我使用的函数是as.vector,但我坚持使用更大的数组。有apply这样的功能吗?
谢谢
【问题讨论】:
标签: arrays r merge apply dimensions
一些示例数据:
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
【讨论】: