从线性model1 = lm(temp~alt+sdist)
开始我需要开发一个预测模型,其中将有新数据出现并且将对temp
进行预测。
我尝试过这样的事情:
model2 = predict.lm(model1, newdata=newdataset)
但是,我不确定这是正确的方法。我想知道的是,如果这是正确的方法,可以预测temp
。对newdataset
来说,我有点困惑。应该填写哪些值?
答案 0 :(得分:2)
我将评论中的所有内容都放到了这个答案中。
1)您可以使用predict
而不是predict.lm
,因为predict
会知道您的输入属于lm
类,并自动执行正确的操作。
2 newdataset
应该是data.frame
,其变量与原始预测变量相同 - 在本例中为alt
和sdist
。
3)如果您在默认情况下使用read.table
引入数据,则会创建data.frame
。这假定新数据包含名为alt
和sdist
的列,然后您可以执行以下操作:
NewDataSet<-read.table(whatever)
NewPredictions<- predict(model1, newdata=NewDatSet)
4)完成此操作后,如果要检查预测 - 可以执行以下操作
summary(model1)
这将为您提供alt
和sdist
的截距和系数
NewDataSet [1,]
这应该为您提供第一行的alt
和sdist
值,您可以将括号中的1更改为您想要的任何行。然后使用summary(model1)
中的信息,使用您信任的任何方法计算预测值应该是什么。
最后使用
NewPredictions [1]
得到predict()
给你的第一行(或将1更改为任何其他行)
希望这一切都能解决。