我有一个像这样执行200次的功能
for (l in 1:200) {
fun.ction(paramter1=g, paramter2=h)$element->u[z,,]
}
u
是一个数组:
u<-array(NA, dim=c(2000,150,7))
我知道它应该有正确的格式。 func.tion
的元素也是具有相同尺寸的数组。因此,是否有一些方法可以使用u
生成的数组填充200次运行中的每一次运算中的数组fun.ction()$element
?我试图通过列表(u[[z]]
)使用索引。它保存了数组,但作为一个列表,以便我以后无法访问我需要的元素。我感谢任何帮助。
答案 0 :(得分:0)
我不确定你想要什么,但如果你只想存储200个维度数组(2000,150,7),你可以制作另一个第四维为200的数组。
storage.array <- array(dim=c(2000,150,7, 200))
然后将您的(2000,150,7)数组存储在第四维:
for (i in 1:200){
storage.array[,,,i] <-
fun.ction(paramter1=g, paramter2=h)$element}
然后你可以通过以下方式访问每个第i个数组:
storage.array[,,,i]
但我想这对R来说太大了,至少它在我的电脑里。
使用较小阵列可以轻松复制的示例:
storage.array <- array(dim=c(20,2,7, 200))
fun.ction <- function(parameter1, parameter2){
array(rnorm(140, parameter1, parameter2), dim=c(20,2,7))
}
for (i in 1:200){
storage.array[,,,i]<- fun.ction(10, 10)
}
但正如罗兰和托马斯所说,你应该让你的代码可以重现并正确定义你想要的东西,这样就更容易回答而不试图猜出你的问题是什么。
祝你好运