我使用 for 循环将 100 个线性模型和 100 个二次模型拟合到相同的合成数据。
我想(随机)提取 5 个线性拟合和 5 个二次拟合,并将这些回归函数与真实模型的均值函数一起绘制。
到目前为止我的想法:
- 选择 10 个随机数
- 创建一个容器(数据框?)来容纳 10 个模型
- 进入 for 循环,获取拟合,如果第 i 次迭代来自一组随机数,则将该模型保存在容器中。
- 退出 for 循环,将容器中的所有拟合与真实模型一起绘制
我遇到的主要困难是查看如何为“lm”类创建一个空数据框。
在 for 循环之前,构建容器,
fit.container.linear <- list()
fit.container.quadratic <- list()
并为将进入容器的模型随机选择索引
randy.linear <- sample(1:100,5,replace=F)
randy.quadratic <- sample(1:100,5,replace=F)
然后在 for 循环中,我使用 lm 得到一个线性和二次模型。model.1 是线性的。model.2 是二次的。现在在 for 循环中,我将模型存储在容器中
for (k in 1:length(randy.linear)){
if (i == randy.linear[k]){
fit.container.linear <- list(fit.container.linear,model.1)
}
}
for (p in 1:length(randy.quadratic)) {
if (i == randy.linear[p]){
fit.container.quadratic <- list(fit.container.quadratic,model.2)
}
}
退出 for 循环。
现在我想访问保存系数的容器,并将所有内容绘制在一张图上。