Print marginaleffects objects

Description

This function controls the text which is printed to the console when one of the core marginalefffects functions is called and the object is returned: predictions(), comparisons(), slopes(), hypotheses(), avg_predictions(), avg_comparisons(), avg_slopes().

All of those functions return standard data frames. Columns can be extracted by name, predictions(model)$estimate, and all the usual data manipulation functions work out-of-the-box: colnames(), head(), subset(), dplyr::filter(), dplyr::arrange(), etc.

Some of the data columns are not printed by default. You can disable pretty printing and print the full results as a standard data frame using the style argument or by applying as.data.frame() on the object. See examples below.

Usage

## S3 method for class 'marginaleffects'
print(
  x,
  style = getOption("marginaleffects_print_style", default = "summary"),
  digits = getOption("marginaleffects_print_digits", default = 3),
  p_eps = getOption("marginaleffects_print_p_eps", default = 0.001),
  topn = getOption("marginaleffects_print_topn", default = 5),
  nrows = getOption("marginaleffects_print_nrows", default = 30),
  ncols = getOption("marginaleffects_print_ncols", default = 30),
  type = getOption("marginaleffects_print_type", default = TRUE),
  column_names = getOption("marginaleffects_print_column_names", default = FALSE),
  ...
)

Arguments

x An object produced by one of the marginaleffects package functions.
style "summary", "data.frame", or "tinytable"
digits The number of digits to display.
p_eps p values smaller than this number are printed in "<0.001" style.
topn The number of rows to be printed from the beginning and end of tables with more than nrows rows.
nrows The number of rows which will be printed before truncation.
ncols The maximum number of column names to display at the bottom of the printed output.
type boolean: should the type be printed?
column_names boolean: should the column names be printed?
Other arguments are currently ignored.

Examples

library("marginaleffects")

library(marginaleffects)
mod <- lm(mpg ~ hp + am + factor(gear), data = mtcars)
p <- predictions(mod, by = c("am", "gear"))
p

 am gear Estimate Std. Error    z Pr(>|z|)     S 2.5 % 97.5 %
  0    3     16.1      0.759 21.2   <0.001 329.6  14.6   17.6
  0    4     21.0      1.470 14.3   <0.001 152.1  18.2   23.9
  1    4     26.3      1.039 25.3   <0.001 466.1  24.2   28.3
  1    5     21.4      1.315 16.3   <0.001 195.2  18.8   24.0

Type:  response 
subset(p, am == 1)

 Estimate Std. Error    z Pr(>|z|)     S CI low CI high
     26.3       1.04 25.3   <0.001 466.1   24.2    28.3
     21.4       1.31 16.3   <0.001 195.2   18.8    24.0
print(p, style = "data.frame")
  am gear estimate std.error statistic       p.value  s.value conf.low
1  0    3 16.10667 0.7589789  21.22150 6.047015e-100 329.5966 14.61910
2  0    4 21.05000 1.4697592  14.32207  1.592966e-46 152.1370 18.16932
3  1    4 26.27500 1.0392746  25.28206 5.032257e-141 466.0607 24.23806
4  1    5 21.38000 1.3145900  16.26363  1.788354e-59 195.1551 18.80345
  conf.high
1  17.59424
2  23.93068
3  28.31194
4  23.95655
  am gear estimate std.error statistic       p.value  s.value conf.low
1  0    3 16.10667 0.7589789  21.22150 6.047015e-100 329.5966 14.61910
2  0    4 21.05000 1.4697592  14.32207  1.592966e-46 152.1370 18.16932
3  1    4 26.27500 1.0392746  25.28206 5.032257e-141 466.0607 24.23806
4  1    5 21.38000 1.3145900  16.26363  1.788354e-59 195.1551 18.80345
  conf.high
1  17.59424
2  23.93068
3  28.31194
4  23.95655