2017-06-22 56 views
0

我有所謂的「輸出」四維空數組的尺寸是從for循環中存儲輸出到空數組

dim(output) 
[1] 192 94 12 160 

我也有一個for循環160次迭代產生上稱爲「XX每次迭代的陣列」。尺寸是。 暗淡(XX) [1] 192 94 12

欲每個XX,一個的160次迭代的存儲到每個1:160 第四尺寸

你能幫助?

+0

'for(i in 1:160){some stuff; output [,,,i] < - results}'其中結果是維度爲192 X 94 X 12的數組。 – lmo

回答

0

如果循環的每次迭代都不依賴於前一次循環,則可以使用vapply。只需循環的代碼,並返回一個尺寸爲c(192, 94, 12)的數組。這將是更多快於for循環。

myfun <- function(i) { 
    array(i, c(192, 94, 12)) # Replace with actual code 
} 

output <- vapply(1:160, myfun, array(0, c(192, 94, 12))) 

vapply呼叫,與要用於output(例如,邏輯,數字(如在實施例),或字符)的數據類型相同的替換的array第一個參數。