R predict()函数返回太多值

时间:2018-04-15 19:45:38

标签: r

我正在使用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个值的列表中找不到的。

1 个答案:

答案 0 :(得分:1)

首先,我不会将您的结果命名为predict - 您希望为该功能保存该结果。你需要

predicted_data <- predict(fit2, newdata = data.frame(PKWH = 9, MDT = 75, MDT2 
= 5625))

这不会引发错误,因为predict...的输入结束时有一个全能(data),但它会为您提供数据的预测适合模型。