我想使用预测函数来预测fjbjor
何时为5.5并且我总是得到这个警告信息而且我已经尝试了很多方法但是总是这样,是否有人能够看到我做错了什么这里
这是我的代码
fit.lm <- lm(fjbjor~amagn, data=bjor)
summary(fit.lm)
new.bjor<- data.frame(fjbjor=5.5)
predict(fit.lm,new.bjor)
这就出来了
1 2 3 4 5 6 7 8 9 10 11
5.981287 2.864521 9.988559 5.758661 4.645530 2.419269 4.645530 5.313409 6.871792 3.309773 4.200278
12 13 14 15 16
3.755026 5.981287 5.536035 1.974016 3.755026
警告讯息:&#39; newdata&#39;有一行,但找到的变量有16行
如果有人能看出有什么问题,我会非常感谢你的帮助。
答案 0 :(得分:2)
您的模型为12
00
00
,其中fjbjor ~ amagn
为响应,fjbjor
为协变量。然后,您的amagn
为newdata
。
data.frame(fjbjor=5.5)
来提供协变量而不是响应。 newdata
只会保留predict
中的协变量列。对于您指定的newdata
,这将是newdata
。因此,NULL
将使用内部模型框架进行预测,从而返回适合的值。
警告信息非常清楚。 predict
确定预期的predict
预测数,即1.然后我上面描述的内容发生了16个拟合值。这种不匹配会产生警告。
看起来你真正想要的模型是:nrow(newdata)
。