我运行了while
循环,该循环执行一些预测模型。我的问题是在每个步骤中使用while
循环都会覆盖模型,而仅保留最后一次迭代的结果。但我想将每个步骤的模型保留在列表中。
这里是一个简单的例子。
i <- 0
while(i < 5) {
i <- i + 1
my_model <- i
}
[这里,my_model
仅包含最后一步的i
:
my_model
5
如何创建包含每个步骤的my_model
对象的列表?所以我的预期输出是:
my_model_list <- list(1, 2, 3, 4, 5)
我需要像上面的一样通过while
循环实现此预期输出。到目前为止,我只想出要在每个步骤中使用assign
创建对象。但我希望有更好的解决方案。
初始化一个空列表,然后将每个输出放入其中。
my_model = list()
i <- 0
while(i < 5) {
i <- i + 1
my_model[i] <- i
}
给出:
> my_model
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
[[5]]
[1] 5
怎么样:
my_model <- list()
i <- 0
while(i < 5) {
i <- i + 1
my_model[i] <- lm(mpg ~ cyl, data = mtcars)
}