在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))

这个函数会生成一个图形,其中蓝色的实线是拟合值,红色的虚线是置信区间的下限,绿色的虚线是置信区间的上限。

R语言线性回归:计算拟合值和置信区间

原文地址: https://www.cveoy.top/t/topic/nzSC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录