繁体   English   中英

如何根据线性模型在r中创建置信区间?

[英]How can I create a confidence interval in r from a linear model?

我想创建一个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的一个置信区间?

你需要:

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

由于当您查看?predict.lm时显而易见的原因。

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

暂无
暂无

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

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