在R中编写一个更新模型的循环

时间:2014-04-18 12:23:39

标签: r variables loops formula lm

我正在寻找一种向模型添加术语的方法。这是我现在拥有的:

model = lm(min.temp ~ latitude + longitude)
for (i in 1:10) {

    model = update(model, .~.+I(latitude^i))

    //do calculations on the current model here..

}

问题是,当我运行此功能然后总结最终模型时,它只包括纬度,经度和纬度^ i。我想得到的是一个最终模型,显示纬度,经度,纬度^ 1,纬度^ 2,纬度^ 3,...纬度^ 10。

这是我需要的循环的简化版本。基本上我想添加一个术语,取决于它添加的特定循环。我不知道如何获得价值而不是“我”。

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

update(lm1,as.formula(paste0(".~.+I(latitude^",i,")")))

您的代码不起作用,因为它是公式,R将其视为“原样”。它不会将变量i解析为值1,2,... 10。因此,您需要首先使用公式的其余部分粘贴i,然后告诉R它是公式。

相关问题