How can I extract the regression coefficients from the lm() function in R?

How can I extract the regression coefficients from the lm() function in R?

The “lm()” function in R is used for performing linear regression analysis on a given dataset. It provides several useful outputs, including the regression coefficients that represent the relationship between the independent and dependent variables. To extract these coefficients, one can use the “coef()” function which takes the “lm()” object as its argument and returns a vector of the regression coefficients. This allows for further analysis and interpretation of the linear regression model.

Extract Regression Coefficients from lm() Function in R


You can use the following methods to extract regression coefficients from the 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

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:

Cite this article

stats writer (2024). How can I extract the regression coefficients from the lm() function in R?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-extract-the-regression-coefficients-from-the-lm-function-in-r/

stats writer. "How can I extract the regression coefficients from the lm() function in R?." PSYCHOLOGICAL SCALES, 29 Jun. 2024, https://scales.arabpsychology.com/stats/how-can-i-extract-the-regression-coefficients-from-the-lm-function-in-r/.

stats writer. "How can I extract the regression coefficients from the lm() function in R?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-extract-the-regression-coefficients-from-the-lm-function-in-r/.

stats writer (2024) 'How can I extract the regression coefficients from the lm() function in R?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-extract-the-regression-coefficients-from-the-lm-function-in-r/.

[1] stats writer, "How can I extract the regression coefficients from the lm() function in R?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, June, 2024.

stats writer. How can I extract the regression coefficients from the lm() function in R?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.

Download Post (.PDF)
Slide Up
x
PDF
Scroll to Top