繁体   English   中英

R预测()函数返回太多值

[英]R predict() function returning too many values

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

首先,我不会将您的结果predict命名为-您要将其保存为函数。 你需要

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

之所以不会引发错误,是因为predictdata输入的末尾有一个包罗万象( ... ),但是它为您提供了适合模型的数据的预测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM