HomeTutorialsR Programming

GLM in R: Generalized Linear Model

Learn about generalized linear models (GLM) and how they differ from linear models.
Jun 2020  · 2 min read

Generalized linear model (GLM) is a generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution like Gaussian distribution.

Basics of GLM

GLMs are fit with function `glm()`. Like linear models (`lm()s`), `glm()s` have formulas and data as inputs, but also have a family input.

Generalized Linear Model Syntax

The Gaussian family is how R refers to the normal distribution and is the default for a `glm()`.

Similarity to Linear Models

If the family is Gaussian then a GLM is the same as an LM.

Non-normal errors or distributions

Generalized linear models can have non-normal errors or distributions. However, there are limitations to the possible distributions. For example, you can use Poisson family for count data, or you can use binomial family for binomial data.

GLMs also have a non-linear link functions, which links the regression coefficients to the distribution and allows the linear model to generalize.

Interactive Example of Predicting with glm()

This example predicts the expected number of daily civilian fire injury victims for the North American summer months of June, July, and August using the Poisson regression you and the `newDat` dataset.

Here is the data in the newDat dataset:

``````  Month
1     6
2     7
3     8 ``````

The Poisson slope and intercept estimates are on the natural log scale and can be exponentiated to be more easily understood. You can do this by specifying `type = "response"` with the predict function.

``````# use the model to predict with new data
predOut <- predict(object = poissonOut, newdata = newDat, type = "response")

# print the predictions
print(predOut)
``````

When we run the above code, it produces the following result:

``````         1          2          3
0.08611111 0.12365591 0.07795699 ``````

This content is taken from DataCamp’s Generalized Linear Models in R course by Richard Erickson.

Check out our Logistic Regression in R Tutorial.

Topics

R Courses

Course

.css-1531qan{-webkit-text-decoration:none;text-decoration:none;color:inherit;}Introduction to R

4 hr
2.7M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
See Details
Start Course

Course

Intermediate R

6 hr
598K
Continue your journey to becoming an R ninja by learning about conditional statements, loops, and vector functions.

Course

Generalized Linear Models in R

4 hr
18K
The Generalized Linear Model course expands your regression toolbox to include logistic and Poisson regression.
See More
Related

tutorial

Logistic Regression in R Tutorial

Discover all about logistic regression: how it differs from linear regression, how to fit and evaluate these models it in R with the glm() function and more!

Vidhi Chugh

14 min

tutorial

How to Do Linear Regression in R

Learn linear regression, a statistical model that analyzes the relationship between variables. Follow our step-by-step guide to learn the lm() function in R.

15 min

tutorial

Multiple Linear Regression in R: Tutorial With Examples

A complete overview to understanding multiple linear regressions in R through examples.

Zoumana Keita

12 min

tutorial

Introduction to Non-Linear Models and Insights Using R

Uncover the intricacies of non-linear models in comparison to linear models. Learn about their applications, limitations, and how to fit them using real-world data sets.

Somil Asthana

17 min

tutorial

R Formula Tutorial

Discover the R formula and how you can use it in modeling- and graphical functions of well-known packages such as stats, and ggplot2.

Karlijn Willems

33 min

tutorial

GFLASSO: Graph-Guided Fused LASSO in R

Explore graph-structured multi-task regression with the GFLASSO R package with this tutorial!

Francisco Lima

13 min

See MoreSee More