【问题标题】:How to create a 3D array from 2D matrices in R?如何从 R 中的 2D 矩阵创建 3D 数组?
【发布时间】:2021-03-06 01:36:30
【问题描述】:

我想基于 R 中的几个 2D 矩阵创建一个 3D 数组,但我不知道。假设我们有以下三个矩阵:

matrix1 <- matrix(1:1, nrow = 5, ncol = 5)
matrix2 <- matrix(2:2, nrow = 5, ncol = 5)
matrix3 <- matrix(3:3, nrow = 5, ncol = 5)

我想知道如何创建一个[1:3, 1:5, 1:5] 数组,作为三个矩阵的组合。谢谢!

【问题讨论】:

  • 如果您的工作区中没有矩阵,而是收集在一个列表中,您可以在这里找到几种替代方法:Functional way to stack list of 2d matrices into 3d matrix
  • 您的预期结果是什么...abind:::abind(matrix1,matrix2,matrix3, along=0) 满意吗?
  • 非常感谢。稍后我会尝试你的方法,但我会先采用arkun的方法。

标签: r arrays


【解决方案1】:

我们可以将矩阵串联成一个向量,使用array构造一个指定dim的3D数组

ar1 <- array(c(matrix1, matrix2, matrix3), c(5, 5, 3))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多