【问题标题】:What is R's multidimensional equivalent of rbind and cbind?R 的 rbind 和 cbind 的多维等价物是什么?
【发布时间】:2011-05-17 16:18:36
【问题描述】:

在 R 中处理矩阵时,可以分别使用 cbind 和 rbind 将它们并排放置或堆叠在一起。在其他维度堆叠矩阵或数组的等效函数是什么?

例如,以下创建一对 2x2 矩阵,每个矩阵有 4 个元素:

x = cbind(1:2,3:4)
y = cbind(5:6,7:8)

将它们组合成具有 8 个元素的 2x2x2 数组的代码是什么?

【问题讨论】:

    标签: r multidimensional-array matrix-multiplication


    【解决方案1】:

    请参阅abind 包。如果您希望它们绑定到第三维,请执行以下操作:

    library(abind)
    abind(x, y, along = 3)
    

    见?abind

    另外,abind 提供了更多便利,但对于简单的绑定,您可以根据默认顺序直接操作值:

    array(c(x, y), dim = c(2, 2, 2))
    

    【讨论】:

    • DescTools 包中还有一个名为Abind 的函数。看起来和我几乎一模一样。
    • 如果我想将新矩阵 z 添加到现有数组 my.array,这似乎可行:array(c(my.array, z), dim = c(dim(my.array)[1], dim(my.array)[2], 3))
    猜你喜欢
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2011-03-24
    • 2010-10-09
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多