How to extract standard errors from lm() function in R?

The lm() function in R can be used to extract standard errors of the estimated regression coefficients by using the summary() function. The summary() function provides a detailed output that includes the estimates, their standard errors, and other information such as the degrees of freedom. Additionally, the coef() function can be used to extract the standard errors of the estimated coefficients.


You can use the following methods to extract the residual standard error along with the standard error of the individual regression coefficients from the function in R:

Method 1: Extract Residual Standard Error

#extract residual standard error of regression model
summary(model)$sigma

Method 2: Extract Standard Error of Individual Regression Coefficients

#extract standard error of individual regression coefficients
sqrt(diag(vcov(model)))

The following example shows how to use each method in practice.

Example: Extract Standard Errors from lm() in R

Suppose we fit the following multiple linear regression model in R:

#create data frame
df <- data.frame(rating=c(67, 75, 79, 85, 90, 96, 97),
                 points=c(8, 12, 16, 15, 22, 28, 24),
                 assists=c(4, 6, 6, 5, 3, 8, 7),
                 rebounds=c(1, 4, 3, 3, 2, 6, 7))

#fit multiple linear regression model
model <- lm(rating ~ points + assists + rebounds, data=df)

We can use the summary() function to view the entire summary of the regression model:

#view model summary
summary(model)

Call:
lm(formula = rating ~ points + assists + rebounds, data = df)

Residuals:
      1       2       3       4       5       6       7 
-1.5902 -1.7181  0.2413  4.8597 -1.0201 -0.6082 -0.1644 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  66.4355     6.6932   9.926  0.00218 **
points        1.2152     0.2788   4.359  0.02232 * 
assists      -2.5968     1.6263  -1.597  0.20860   
rebounds      2.8202     1.6118   1.750  0.17847   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.193 on 3 degrees of freedom
Multiple R-squared:  0.9589,	Adjusted R-squared:  0.9179 
F-statistic: 23.35 on 3 and 3 DF,  p-value: 0.01396

The residual standard error of the model is 3.193 and each of the standard errors for the individual regression coefficients can be seen in the Std. Error column of the output.

To only extract the residual standard error for the model, we can use the following syntax:

#extract residual standard error of regression model
summary(model)$sigma

[1] 3.19339

And to only extract the standard errors for each of the individual regression coefficients, we can use the following syntax:

#extract standard error of individual regression coefficients
sqrt(diag(vcov(model)))

(Intercept)      points     assists    rebounds 
  6.6931808   0.2787838   1.6262899   1.6117911 

Notice that these values match the values that we saw earlier in the entire regression output summary.

The following tutorials explain how to perform other common tasks in R:

x