双循环,将创建的变量存储在列表中

时间:2017-11-16 16:59:42

标签: r list loops for-loop

我一直在尝试使用双循环来创建简单的字符向量并将它们保存在列表中:

exercise <- list()

for(i in 1:3){
  for (k in 1:3) {
    exercise[?] <- paste("AR", i , "MA", k)
  }
}  

输出应为:

[[1]]
[1] "AR 1 MA 1"

[[2]]
[1] "AR 1 MA 2"

[[3]]
[1] "AR 1 MA 3"

[[4]]
[1] "AR 2 MA 1"

[[5]]
[1] "AR 2 MA 2"
etc...

整个列表应该有9个字符对象,但我无法弄清楚如何以所需的顺序有效地保存它们。这必须有一个简单的答案,但我还没有找到任何解决方案。后来,我想在列表中存储ARIMA(p,q)模型,而不仅仅是字符向量,但系统应该是相同的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您真的想使用double for循环,可以执行以下操作:

for(i in 1:3){
    for (k in 1:3) {
        exercise[length(exercise) + 1] <- paste("AR", i , "MA", k)
    }
}

使用exercise[length(exercise) + 1],我们会在每次迭代时更新exercise的最后一个元素。