【问题标题】:R fill a 3D array by repeating a matrixR通过重复矩阵​​填充3D数组
【发布时间】:2016-05-09 00:00:04
【问题描述】:

我目前正在尝试找到一种快速的方法来解决我在 R 中的问题,而无需使用循环。

我有一个大小为 N x m 的矩阵 A。

我想从中获得一个大小为 N*m*5 的数组 B,其中 B[,,i]=A 表示所有 0

我尝试使用 rep 函数失败,但我无法让它输出 3D 数组。 有没有办法这样做,还是我应该手动分配每个值?

提前致谢。

【问题讨论】:

  • 所有 0 的 B[,,i]=A 是什么?你试过replicate(5, A)
  • 谢谢,我修好了,它已经被剪掉了。你说的我试过了,很有效,非常感谢,正是我想要的

标签: arrays r matrix multidimensional-array


【解决方案1】:

您可以将array 包裹在矩阵周围并将所需的维数“扩展”为dim-参数中的最后一个条目,然后矩阵值将被“回收”:

B <- array( matrix(1:6, 2, 3), c(2,3,5) )

【讨论】:

    【解决方案2】:

    我们可以使用replicate 来获取输出为array

    replicate(5, A)
    

    【讨论】:

    • 正是需要的
    猜你喜欢
    • 2012-06-13
    • 2020-11-06
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2018-01-23
    • 1970-01-01
    相关资源
    最近更新 更多