按照目前的情况,您可能有一个三维数组。如果你想要一个列表,你可以添加 Simply=FALSE。尝试这个:
do.call( rbind, replicate(5, my.fun(), simplify=FALSE ) )
或者你可以使用aperm
在“final”仍然是一个数组的情况下:
fun <- function() matrix(1:10, 2,5)
final <- replicate( 2, fun() )
> final
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> t( matrix(aperm(final, c(2,1,3)), 5,4) )
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
[3,] 1 3 5 7 9
[4,] 2 4 6 8 10
可能还有更经济的矩阵运算。我只是还没有发现一个。