R语言predict()函数返回结果数量超出预期问题咨询
解决predict()返回结果数量超出预期的问题
哦,我一眼就发现问题所在啦!你在调用predict()函数的时候犯了一个很容易踩的参数名错误——指定新预测数据集的参数应该是newdata,而不是你写的data!
问题原因
当你用data=传递新数据时,predict.lm()会忽略这个参数,默认返回原训练数据集(也就是你建模用的utility,包含24条数据)的预测值,这就是为什么你得到了远超预期的结果数量。
修正后的代码
把参数名改成newdata就可以解决问题了:
# 修正predict调用的参数名 predicted_value <- predict(fit2, newdata = data.frame(PKWH = 9, MDT = 75, MDT2 = 5625))
这样运行后,你就能得到预期的单个预测值了。
小提示
如果之后再遇到类似的函数参数疑问,可以直接在R里输入?predict.lm查看官方文档,里面会清晰列出所有可用参数及其作用,能帮你快速避开这类小坑~
内容的提问来源于stack exchange,提问作者ping88
相关产品推荐
相关产品推荐

