get_emmeans: Easy 'emmeans' and 'emtrends'

View source: R/get_emmeans.R

get_emcontrastsR Documentation

Easy 'emmeans' and 'emtrends'

Description

The get_emmeans() function is a wrapper to facilitate the usage of emmeans::emmeans() and emmeans::emtrends(), providing a somewhat simpler and intuitive API to find the specifications and variables of interest. It is meanly made to for the developers to facilitate the organization and debugging, and end-users should rather use the ⁠estimate_*()⁠ series of functions.

Usage

get_emcontrasts(
  model,
  contrast = NULL,
  by = NULL,
  transform = "none",
  method = "pairwise",
  ...
)

model_emcontrasts(
  model,
  contrast = NULL,
  by = NULL,
  transform = "none",
  method = "pairwise",
  ...
)

get_emmeans(model, by = "auto", transform = "response", ...)

model_emmeans(model, by = "auto", transform = "response", ...)

get_emtrends(model, trend = NULL, by = NULL, ...)

model_emtrends(model, trend = NULL, by = NULL, ...)

Arguments

model

A statistical model.

contrast

A character vector indicating the name of the variable(s) for which to compute the contrasts.

by

The predictor variable(s) at which to evaluate the desired effect / mean / contrasts. Other predictors of the model that are not included here will be collapsed and "averaged" over (the effect will be estimated across them).

transform

Is passed to the type argument in emmeans::emmeans(). See this vignette. Can be "none" (default for contrasts), "response" (default for means), "mu", "unlink", "log". "none" will leave the values on scale of the linear predictors. "response" will transform them on scale of the response variable. Thus for a logistic model, "none" will give estimations expressed in log-odds (probabilities on logit scale) and "response" in terms of probabilities.

method

Contrast method. See same argument in emmeans::contrast.

...

Other arguments passed for instance to insight::get_datagrid().

trend

A character indicating the name of the variable for which to compute the slopes.

Examples


# Basic usage
model <- lm(Sepal.Width ~ Species, data = iris)
get_emcontrasts(model)

# Dealing with interactions
model <- lm(Sepal.Width ~ Species * Petal.Width, data = iris)
# By default: selects first factor
get_emcontrasts(model)
# Can also run contrasts between points of numeric
get_emcontrasts(model, contrast = "Petal.Width", length = 3)
# Or both
get_emcontrasts(model, contrast = c("Species", "Petal.Width"), length = 2)
# Or with custom specifications
estimate_contrasts(model, contrast = c("Species", "Petal.Width=c(1, 2)"))
# Or modulate it
get_emcontrasts(model, by = "Petal.Width", length = 4)

model <- lm(Sepal.Length ~ Species + Petal.Width, data = iris)

if (require("emmeans", quietly = TRUE)) {
  # By default, 'by' is set to "Species"
  get_emmeans(model)

  # Overall mean (close to 'mean(iris$Sepal.Length)')
  get_emmeans(model, by = NULL)

  # One can estimate marginal means at several values of a 'modulate' variable
  get_emmeans(model, by = "Petal.Width", length = 3)

  # Interactions
  model <- lm(Sepal.Width ~ Species * Petal.Length, data = iris)

  get_emmeans(model)
  get_emmeans(model, by = c("Species", "Petal.Length"), length = 2)
  get_emmeans(model, by = c("Species", "Petal.Length = c(1, 3, 5)"), length = 2)
}
if (require("emmeans")) {
  model <- lm(Sepal.Width ~ Species * Petal.Length, data = iris)

  get_emtrends(model)
  get_emtrends(model, by = "Species")
  get_emtrends(model, by = "Petal.Length")
  get_emtrends(model, by = c("Species", "Petal.Length"))

  model <- lm(Petal.Length ~ poly(Sepal.Width, 4), data = iris)
  get_emtrends(model)
  get_emtrends(model, by = "Sepal.Width")
}

easystats/estimate documentation built on Dec. 18, 2024, 4:41 p.m.