# How to Extract Regression Coefficients from glm() in R

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

Method 1: Extract All Regression Coefficients

```model\$coefficients
```

Method 2: Extract Regression Coefficient for Specific Variable

`model\$coefficients['my_variable']`

Method 3: Extract All Regression Coefficients with Standard Error, Z Value & P-Value

`summary(model)\$coefficients`

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

## Example: Extract Regression Coefficients from glm() in R

Suppose we fit a logistic regression model using the Default dataset from the ISLR package:

```#load dataset
data <- ISLR::Default

#view first six rows of data

default student   balance    income
1      No      No  729.5265 44361.625
2      No     Yes  817.1804 12106.135
3      No      No 1073.5492 31767.139
4      No      No  529.2506 35704.494
5      No      No  785.6559 38463.496
6      No     Yes  919.5885  7491.559

#fit logistic regression model
model <- glm(default~student+balance+income, family='binomial', data=data)

#view summary of logistic regression model
summary(model)

Call:
glm(formula = default ~ student + balance + income, family = "binomial",
data = data)

Deviance Residuals:
Min       1Q   Median       3Q      Max
-2.4691  -0.1418  -0.0557  -0.0203   3.7383

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.087e+01  4.923e-01 -22.080  < 2e-16 ***
studentYes  -6.468e-01  2.363e-01  -2.738  0.00619 **
balance      5.737e-03  2.319e-04  24.738  < 2e-16 ***
income       3.033e-06  8.203e-06   0.370  0.71152
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 2920.6  on 9999  degrees of freedom
Residual deviance: 1571.5  on 9996  degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8```

We can type model\$coefficients to extract all of the regression coefficients in the model:

```#extract all regression coefficients
model\$coefficients

(Intercept)    studentYes       balance        income
-1.086905e+01 -6.467758e-01  5.736505e-03  3.033450e-06
```

We can also type model\$coefficients[‘balance’] to extract the regression coefficient for the balance variable only:

```#extract coefficient for 'balance'
model\$coefficients['balance']

balance
0.005736505
```

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

```#view regression coefficients with standard errors, z values and p-values
summary(model)\$coefficients

Estimate   Std. Error    z value      Pr(>|z|)
(Intercept) -1.086905e+01 4.922555e-01 -22.080088 4.911280e-108
studentYes  -6.467758e-01 2.362525e-01  -2.737646  6.188063e-03
balance      5.736505e-03 2.318945e-04  24.737563 4.219578e-135
income       3.033450e-06 8.202615e-06   0.369815  7.115203e-01```

We can also access specific values in this output.

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

```#view p-value for balance variable
summary(model)\$coefficients['balance', 'Pr(>|z|)']

 4.219578e-135
```

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(>|z|)']

(Intercept)    studentYes       balance        income
4.911280e-108  6.188063e-03 4.219578e-135  7.115203e-01
```

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 output.