[Experimental] Use marginaleffects::avg_slopes() to estimate marginal slopes / effects and return a tibble tidied in a way that it could be used by broom.helpers functions. See marginaleffects::avg_slopes() for a list of supported models.

tidy_avg_slopes(x, conf.int = TRUE, conf.level = 0.95, ...)



a model


logical indicating whether or not to include a confidence interval in the tidied output


the confidence level to use for the confidence interval


additional parameters passed to marginaleffects::avg_slopes()


By default, marginaleffects::avg_slopes() estimate average marginal effects (AME): an effect is computed for each observed value in the original dataset before being averaged. Marginal Effects at the Mean (MEM) could be computed by specifying newdata = "mean". Other types of marginal effects could be computed. Please refer to the documentation page of marginaleffects::avg_slopes().

For more information, see vignette("marginal_tidiers", "broom.helpers").


if (FALSE) { # interactive()
# Average Marginal Effects (AME)

df <- Titanic %>%
  dplyr::as_tibble() %>%
  tidyr::uncount(n) %>%
  dplyr::mutate(Survived = factor(Survived, c("No", "Yes")))
mod <- glm(
  Survived ~ Class + Age + Sex,
  data = df, family = binomial
tidy_plus_plus(mod, tidy_fun = tidy_avg_slopes)

mod2 <- lm(Petal.Length ~ poly(Petal.Width, 2) + Species, data = iris)

# Marginal Effects at the Mean (MEM)
tidy_avg_slopes(mod, newdata = "mean")
tidy_plus_plus(mod, tidy_fun = tidy_avg_slopes, newdata = "mean")