回归误差的置信区间R,

时间:2014-10-05 05:31:58

标签: r prediction

有人可以在这里解释我做错了什么。我想要     找到我的变量的平均响应的置信区间     " list1的&#34。 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??

1 个答案:

答案 0 :(得分:1)

问题是您正在尝试传递一个新的自变量进行预测,但该预测变量的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