沿第三维重复矩阵的最简单方法

时间:2016-05-04 17:46:29

标签: r

如何沿第三维A次重复矩阵narray(rep(A,n),c(dim(A),n))应该有效,但有更简单的方法吗?我希望A[,,rep(1,n)]可以做到这一点,但显然不是。

2 个答案:

答案 0 :(得分:3)

您忘了先改变尺寸:

A = matrix(1:4, nrow = 2)
dim(A) = c(dim(A), 1)

A[, , rep(1, 3)]
#, , 1
#
#     [,1] [,2]
#[1,]    1    3
#[2,]    2    4
#
#, , 2
#
#     [,1] [,2]
#[1,]    1    3
#[2,]    2    4
#
#, , 3
#
#     [,1] [,2]
#[1,]    1    3
#[2,]    2    4

答案 1 :(得分:2)

我猜以下内容有点短:

myArray <- replicate(n, A)

以下是一个例子:

temp <- matrix(1:10, 5)
replicate(3, temp)