如何从线性模型中创建r的置信区间?

时间:2017-08-31 17:04:26

标签: r regression confidence-interval

我想创建一个y vs x的线性模型,并使用它来找到给定观察值x的y的置信区间。

所以我创建了一些样本:

x=rnorm(100,2)
y=rnorm(100,2)

并创建了线性模型:

bbbb=lm(y~x)

但是当我使用预测来创建置信区间时,它给出了一系列置信区间而不是单个区间?

predict(bbbb,x=2,interval="confidence")

返回:

...
51  2.188294 1.949615 2.426973
52  2.189329 1.932474 2.446183
53  2.176816 1.950111 2.403521
54  2.183961 1.998136 2.369786
...

当x = 2时,如何让它返回y的一个置信区间?

1 个答案:

答案 0 :(得分:5)

你需要:

predict(bbbb, newdata = data.frame(x = 2), interval  = "confidence")

了解?predict.lm时明确的原因。

newdata参数必须是数据框。您提供了长度为1的向量。其次,由于S3方法的工作方式,您认为传递给newdata的内容实际上根本没有传递给newdata。您实际上指定了一个值为x的新参数2predict()及时忘记了它(它被...参数清除了)。如果未提供newdatapredict()将使用存储在拟合模型对象(bbbb)中的数据,并返回拟合值以及任何请求的额外内容,如CI,标准错误等。