在R中使用线性模型进行预测,给定数据点

3
我已经建立了这个模型:
selected.model<-(ES~Area+Elevation+DistSC+I(Elevation^2)+
                 (Elevation*DistSC)+(Area*Elevation))

我想通过给定的数据点来预测 ES。

Area=0.02, Anear=58.27, Dist=27.1, DistSC=65, Elevation=60

不需要Anear和Dist。

然而,当我尝试使用predict时,会出现错误。有人能帮忙吗?

predict(selected.model, newdata=data.frame(Area=0.02, Elevation=60, DistSC=65))
Error in UseMethod("predict") : 
  no applicable method for 'predict' applied to an object of class "formula"
1个回答

2

您实际上并没有符合模型。

这个:

selected.model<-(ES~Area+Elevation+DistSC+I(Elevation^2)+
                 (Elevation*DistSC)+(Area*Elevation))

该函数仅创建一个公式对象。在R中,使用lm命令创建线性模型。您可以输入?lm来了解有关此命令的信息。

您可能想要做的是:

myModel <- lm(selected.model,data = myDataFrame)

在这里,myDataFrame 是您所称的源数据框。然后,您需要在 myModel 上调用 predict


是的,我刚注意到,<-之后我只需要加上lm就可以了,我在我的工作中已经为很多其他线性模型这样做过了,我只是个傻瓜,在这里忘记了。非常感谢! - JRSR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接