2013-12-18 154 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) 
} 

但作爲羅蘭·托馬斯說,你應該讓你的代碼重現性和正確定義你想要什麼,所以很容易沒有回答試圖猜測你的問題是什麼。

問候函