marginaleffects
package for R
Compute and plot predictions, slopes, marginal means, and comparisons (contrasts, risk ratios, odds, etc.) for over 80 classes of statistical models in R. Conduct linear and non-linear hypothesis tests, or equivalence tests. Calculate uncertainty estimates using the delta method, bootstrapping, or simulation-based inference.
The
marginaleffects
website includes a “Get
started” tutorial and 25+ vignettes,
case studies, and technical notes.
Install the latest CRAN release:
install.packages("marginaleffects")
Install the development version:
install.packages(
c("marginaleffects", "insight"),
repos = c("https://vincentarelbundock.r-universe.dev", "https://easystats.r-universe.dev"))
Restart R
completely before moving on.
marginaleffects
Arel-Bundock V (2023). marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, and Hypothesis Tests. R package version 0.9.0, https://vincentarelbundock.github.io/marginaleffects/.
@Manual{marginaleffects,
title = {marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, and Hypothesis
Tests},author = {Vincent Arel-Bundock},
year = {2023},
note = {R package version 0.9.0},
url = {https://vincentarelbundock.github.io/marginaleffects/},
}
Parameter estimates are often hard to interpret substantively,
especially when they are generated by complex models with non-linear
components or transformations. Many applied researchers would rather
focus on simple quantities of interest, which have straightforward
scientific interpretations. Unfortunately, these estimands (and their
standard errors) are tedious to compute. Moreover, the different
modeling packages in R
often produce inconsistent objects
that require special treatment.
marginaleffects
offers a single point of entry to easily
interpret the results of over 80 classes of models, using a simple and
consistent user interface.
Benefits of marginaleffects
include:
R
.margins
package, and the memory footprint is much
smaller.marginaleffects
follows
“tidy” principles and returns objects that work with standard functions
like summary()
, head()
, tidy()
,
and glance()
. These objects are easy to program with and
feed to other
packages like modelsummary
.Stata
or other R
packages. Unfortunately, it
is not possible to test every model type, so users are still strongly
encouraged to cross-check their results.The marginaleffects
package allows R
users
to compute and plot three principal quantities of interest: (1)
predictions, (2) comparisons, and (3) slopes. In addition, the package
includes a convenience function to compute a fourth estimand, “marginal
means”, which is a special case of averaged predictions.
marginaleffects
can also average (or “marginalize”)
unit-level (or “conditional”) estimates of all those quantities, and
conduct hypothesis tests on them.
The outcome predicted by a fitted model on a specified scale for a given combination of values of the predictor variables, such as their observed values, their means, or factor levels. a.k.a. Fitted values, adjusted predictions.
predictions()
,avg_predictions()
,plot_predictions()
.
Compare the predictions made by a model for different regressor values (e.g., college graduates vs. others): contrasts, differences, risk ratios, odds, etc.
comparisons()
,avg_comparisons()
,plot_comparisons()
.
Partial derivative of the regression equation with respect to a regressor of interest. a.k.a. Marginal effects, trends.
slopes()
,avg_slopes()
,plot_slopes()
.
Predictions of a model, averaged across a “reference grid” of categorical predictors.
marginalmeans()
.
Goal | Function |
---|---|
Predictions | predictions() |
avg_predictions() |
|
plot_predictions() |
|
Comparisons | comparisons() |
avg_comparisons() |
|
plot_comparisons() |
|
Slopes | slopes() |
avg_slopes() |
|
plot_slopes() |
|
Marginal Means | marginal_means() |
Grids | datagrid() |
datagridcf() |
|
Hypothesis & Equivalence | hypotheses() |
Bayes, Bootstrap, Simulation | posterior_draws() |
inferences() |