我正在寻找一种向模型添加术语的方法。这是我现在拥有的:
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。
这是我需要的循环的简化版本。基本上我想添加一个术语,取决于它添加的特定循环。我不知道如何获得价值而不是“我”。
谢谢!
答案 0 :(得分:2)
试试这个:
update(lm1,as.formula(paste0(".~.+I(latitude^",i,")")))
您的代码不起作用,因为它是公式,R将其视为“原样”。它不会将变量i解析为值1,2,... 10。因此,您需要首先使用公式的其余部分粘贴i
,然后告诉R它是公式。