我正在使用r预测函数,它返回的值也超出了我的预期。我为数据创建了一个线性模型来预测PKWH,MDT和MDT2中的MDC,然后我将输入值的新数据创建到预测函数中。实用程序的原始数据对于MDC,PKWH,MDT和MDT2的每列具有24个值。
fit2 <- lm(MDC ~ MDT + MDT2 + PKWH*(1 + MDT + MDT2), data =
utility)
predict <- predict(fit2, data = data.frame(PKWH = 9, MDT = 75, MDT2
= 5625))
我期望predict()函数为PKWH = 9 |的输入产生1个预测值MDT = 75 | MDT2 = 5625,但它给了我这24个值。
1 2 3 4 5 6 7
56.67781 51.66653 45.05200 42.12583 38.98647 38.80904 42.60033
8 9 10 11 12 13 14
46.86545 49.51928 54.15163 61.54441 68.00122 49.17722 45.27917
15 16 17 18 19 20 21
42.88154 40.93468 38.39330 37.80963 39.47550 41.58780 42.94447
22 23 24
46.25884 49.27053 53.98732
此外,当我使用线性模型中的系数插入新输入值来计算预测值时,我得到55.42165,这是在来自predict()函数的24个值的列表中找不到的。
答案 0 :(得分:1)
首先,我不会将您的结果命名为predict
- 您希望为该功能保存该结果。你需要
predicted_data <- predict(fit2, newdata = data.frame(PKWH = 9, MDT = 75, MDT2
= 5625))
这不会引发错误,因为predict
在...
的输入结束时有一个全能(data
),但它会为您提供数据的预测适合模型。