将for循环的输出存储到空数组中

时间:2017-06-22 19:52:50

标签: r

我有一个名为“output”的四维空数组,其尺寸为

dim(output)
[1] 192  94  12 160

我还有一个for循环,用于160次迭代,在每次迭代时生成一个名为“XX”的数组。尺寸是。    变暗(XX)    [1] 192 94 12

我想存储XX的160次迭代中的每一次,每次1:160 第四维度

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

如果循环的每次迭代都不依赖于前一次迭代,则可以使用vapply。只需获取循环的代码并创建一个返回维度为c(192, 94, 12)的数组的函数。这比<{1}}循环快

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的第一个参数替换为array所需的相同数据类型(例如,逻辑,数字(如示例中所示)或字符) )。