R语言线性回归:计算拟合值和置信区间
在R语言中,可以使用lm()函数进行线性回归分析,计算出一组数据的拟合值和置信区间。
首先,需要准备一组数据,例如:
x <- c(1, 2, 3, 4, 5)
y <- c(3, 5, 7, 9, 11)
然后,使用lm()函数进行线性回归分析:
model <- lm(y ~ x)
这个函数会返回一个线性回归模型对象,可以使用summary()函数查看模型的统计信息:
summary(model)
输出结果如下:
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5
-0.00001 0.00002 -0.00001 0.00002 -0.00002
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.00000 0.00035 5714 <2e-16 ***
x 2.00000 0.00013 15293 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.328e-05 on 3 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 1
F-statistic: 2.342e+08 on 1 and 3 DF, p-value: < 2.2e-16
可以看到,拟合结果的截距和斜率分别为2和2,拟合效果非常好,R方值为1。
接下来,可以使用predict()函数计算出每个x值对应的拟合值和置信区间:
new_x <- seq(0, 6, by = 0.1)
new_y <- predict(model, newdata = data.frame(x = new_x), interval = 'confidence')
这个函数会返回一个矩阵,其中第一列是拟合值,第二列是置信区间的下限,第三列是置信区间的上限。可以使用matplot()函数将拟合值和置信区间画出来:
matplot(new_x, new_y, type = 'l', lty = c(1, 2, 2), col = c(1, 2, 2), xlab = 'x', ylab = 'y')
legend('topright', legend = c('拟合值', '置信区间'), lty = c(1, 2), col = c(1, 2))
这个函数会生成一个图形,其中蓝色的实线是拟合值,红色的虚线是置信区间的下限,绿色的虚线是置信区间的上限。
原文地址: https://www.cveoy.top/t/topic/nzSC 著作权归作者所有。请勿转载和采集!