我已经定义的自定义功能,这样的功能或(:重复一个用户定义的使用复制()sapply)
my.fun = function() {
for (i in 1:1000) {
...
for (j in 1:20) {
...
}
}
return(output)
}
它返回一个输出矩阵,output
,通过1000行和20列组成。
我需要做的就是重复功能,比如5倍,并存储五个output
结果到一个全新的矩阵,说final
,但不使用其他for循环(此为使代码更清晰,也因为在第二时刻,我想尝试并行化这些额外的5次重复)。
因此final
应该是一个具有5000行和20列的矩阵(这5次重复的原理是在我使用的两个for循环中,其他函数sample
)。
我试图使用final <- replicate(5, my.fun())
,它正确地计算了五个重复,但是我必须“手动”将元素放入一个全新的5000 x 20矩阵中。是否有更加优雅的方法可以这样做? (可能使用sapply()
?)。非常感谢
非常感谢您的帮助。顺便说一下,关于三维阵列,你是对的:) – Stezzo