2013-12-18 101 views
0

执行我有执行200次这样的存储阵列,同时在for循环

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的元素也是一个具有相同尺寸的数组。因此,是否有某种方法可以用来自fun.ction()$element的阵列在200次运行中填充数组u?我试图通过列表(u[[z]])使用索引。它保存数组,但作为一个列表,以便我不能访问后面的元素,我将需要。我感谢任何帮助。

+0

什么是'z'?用于索引for-loop('l')的变量应该与用于填充'u'对象的索引相同。 – Thomas

+4

我想你应该使用'sapply'而不是'for'循环,但是你的代码不是[重现](http://stackoverflow.com/a/5963610/1412059)。所以我们不能真正帮助你。 – Roland

回答

0

我不知道它是什么,你想要的,但如果你只是想存储尺寸(2000,150,7)的200个阵列,你可以只是做与200

storage.array <- array(dim=c(2000,150,7, 200)) 
第四维另一个数组

然后存储你的(2000年,150,7)在第四维数组:

storage.array[,,,i] 

for (i in 1:200){ 
       storage.array[,,,i] <- 
            fun.ction(paramter1=g, paramter2=h)$element} 

然后就可以通过访问每个第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) 
} 

但作为罗兰·托马斯说,你应该让你的代码重现性和正确定义你想要什么,所以很容易没有回答试图猜测你的问题是什么。

问候函