回归误差的置信区间,R,



有人能解释一下我做错了什么吗。我想找到我的变量的平均响应的置信区间"list1."R有一个使用"忠实"数据集的在线示例,它工作良好。然而,每当我试图找到信心/预测时间隔,我总是收到这个错误消息。我已经做了5年了几个小时,尝试了无数种不同的东西,但都无济于事。

 > list1 <- c(1,2,3,4,5)  #first data set
            > list2 <- c(2,4,5,6,7)   # second data set
            > frame <- data.frame(list1,list2) # made a data.frame object
            > reg <- lm(list1~list2,data=frame) # regression
            > newD = data.frame(list1 = 2.3) #new data input for confidence/prediction interval estimation
            > predict(reg,newdata=newD,interval="confidence") 
                fit         lwr      upr
        1 0.7297297 -0.08625234 1.545712
        2 2.3513514  1.88024388 2.822459
        3 3.1621622  2.73210185 3.592222
        4 3.9729730  3.45214407 4.493802
        5 4.7837838  4.09033237 5.477235
        Warning message:
        'newdata' had 1 row but variables found have 5 rows #Why does this keep happening??

问题是您试图传入一个新的自变量进行预测,但该预测器的name与初始模型中的因变量匹配。回归中的公式语法为y ~ x。使用predict()函数时,可以传递新的独立(x)变量。有关更多详细信息,请参阅?predict的"详细信息"部分。

然而,这似乎奏效了:

newD2 = data.frame(list2 = 2.3) #note the name is list2 and not list1
predict(reg, newdata = newD2, interval = "confidence")
---
       fit       lwr    upr
1 0.972973 0.2194464 1.7265

最新更新