我使用的是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))我期望这个预测()函数为PKWH =9 these =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,这在预测()函数的24个值的列表中找不到。
发布于 2018-04-15 19:53:29
首先,我不会将结果命名为predict --您希望将其保存到函数中。你需要
predicted_data <- predict(fit2, newdata = data.frame(PKWH = 9, MDT = 75, MDT2
= 5625))它不是抛出一个错误,因为predict在输入data的末尾有一个catch (...),但是它给出了您与模型匹配的数据的预测。
https://stackoverflow.com/questions/49846077
复制相似问题