【问题标题】:Double for loop, storing created variables in a list双 for 循环,将创建的变量存储在列表中
【发布时间】:2017-11-16 16:59:41
【问题描述】:

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

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)模型存储在列表中而不是只存储字符向量,但是系统应该是一样的。

感谢您的帮助!

【问题讨论】:

  • 你可以使用as.list(outer(1:3, 1:3, FUN = function(x, y) paste("AR", x, "MA", y)))
  • 搞笑一paste0("AR ", 1:3, " MA ", rep(1:3, 3))

标签: r list loops for-loop


【解决方案1】:

如果你真的想使用双循环,你可以这样做:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    相关资源
    最近更新 更多