Possible Duplicate:
How do I reference a regression model's coefficient's standard errors?

If I have a dataset:

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

and I run a linear regression:

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

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

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

             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 

How do I extract the standard errors of the regression coefficients from either fit or out? I can't seem to figure it out. Thanks!

  • $\begingroup$ coef(summary(model))[, "Std. Error"] Works pretty well. $\endgroup$ Feb 4 '20 at 3:02

It's useful to see what kind of objects are contained within another object. Using names() or str() can help here.

Note that out <- summary(fit) is the summary of the linear regression object.


The simplest way to get the coefficients would probably be:

out$coefficients[ , 2] #extract 2nd column from the coefficients object in out
  • 6
    $\begingroup$ But the question asks about the standard error of the coefficients, no? $\endgroup$
    – ziggystar
    May 22 '14 at 15:05
  • $\begingroup$ out$coefficients[2,2] $\endgroup$
    – PatrickT
    Jul 8 '18 at 12:27

Like this:

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

These are the classical asymptotic ones you see in summary. Please also see the links in my answer to this same question about alternative standard error options.


Not the answer you're looking for? Browse other questions tagged or ask your own question.