【问题标题】:How to reduce the dimensions of an array in R如何减少R中数组的维度
【发布时间】: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


    【解决方案1】:

    一些示例数据:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      相关资源
      最近更新 更多