提取系数线性回归R的标准误差

机器算法验证 回归 标准错误 回归系数
2022-03-28 00:45:09

可能重复:
如何引用回归模型的系数标准误差?

如果我有一个数据集:

data = data.frame(xdata = 1:10,ydata = 6:15)

我运行线性回归:

fit = lm(ydata~.,data = data)
out = summary(fit)

Call:
lm(formula = ydata ~ ., data = data)

Residuals:
       Min         1Q     Median         3Q        Max 
-5.661e-16 -1.157e-16  4.273e-17  2.153e-16  4.167e-16 

Coefficients:
             Estimate Std. Error   t value Pr(>|t|)    
(Intercept) 5.000e+00  2.458e-16 2.035e+16   <2e-16 ***
xdata       1.000e+00  3.961e-17 2.525e+16   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 3.598e-16 on 8 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:     1 
F-statistic: 6.374e+32 on 1 and 8 DF,  p-value: < 2.2e-16 

如何从拟合或拟合中提取回归系数的标准误差?我似乎无法弄清楚。谢谢!

2个回答

像这样:

fit = lm(ydata ~ .,data = data)
se <- sqrt(diag(vcov(fit)))

这些是您在 中看到的经典渐近的summary另请参阅我对有关替代标准错误选项的同一问题的回答中的链接。

查看另一个对象中包含哪些类型的对象很有用。在这里使用 names() 或 str() 会有所帮助。

请注意,这out <- summary(fit)是线性回归对象的摘要

names(out)
str(out)

获得系数的最简单方法可能是:

out$coefficients[ , 2] #extract 2nd column from the coefficients object in out