How to Extract Regression Coefficients from lm() Function in R


You can use the following methods to extract regression coefficients from the lm() function in R:

Method 1: Extract Regression Coefficients Only

model$coefficients

Method 2: Extract Regression Coefficients with Standard Error, T-Statistic, & P-values

summary(model)$coefficients

The following example shows how to use these methods in practice.

Example: Extract Regression Coefficients 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

To view the regression coefficients only, we can use model$coefficients as follows:

#view only regression coefficients of model
model$coefficients

(Intercept)      points     assists    rebounds 
  66.435519    1.215203   -2.596789    2.820224 

We can use these coefficients to write the following fitted regression equation:

Rating = 66.43551 + 1.21520(points) – 2.59678(assists) + 2.82022(rebounds)

To view the regression coefficients along with their standard errors, t-statistics, and p-values, we can use summary(model)$coefficients as follows:

#view regression coefficients with standard errors, t-statistics, and p-values
summary(model)$coefficients

             Estimate Std. Error   t value    Pr(>|t|)
(Intercept) 66.435519  6.6931808  9.925852 0.002175313
points       1.215203  0.2787838  4.358942 0.022315418
assists     -2.596789  1.6262899 -1.596757 0.208600183
rebounds     2.820224  1.6117911  1.749745 0.178471275

We can also access specific values in this output.

For example, we can use the following code to access the p-value for the points variable:

#view p-value for points variable
summary(model)$coefficients["points", "Pr(>|t|)"]

[1] 0.02231542

Or we could use the following code to access the p-value for  each of the regression coefficients:

#view p-value for all variables
summary(model)$coefficients[, "Pr(>|t|)"]

(Intercept)      points     assists    rebounds 
0.002175313 0.022315418 0.208600183 0.178471275 

The p-values are shown for each regression coefficient in the model.

You can use similar syntax to access any of the values in the regression output.

Additional Resources

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

How to Perform Simple Linear Regression in R
How to Perform Multiple Linear Regression in R
How to Create a Residual Plot in R

Leave a Reply

Your email address will not be published.