`modelsummary_wide` is a specialized function to display groups of parameters from a single model in separate columns. This can be useful, for example, to display the different levels of coefficients in a multinomial regression model (e.g., `nnet::multinom`). The `coef_group` argument specifies the name of the group identifier.

modelsummary_wide(
  models,
  output = "default",
  fmt = 3,
  estimate = "estimate",
  statistic = "std.error",
  vcov = NULL,
  conf_level = 0.95,
  stars = FALSE,
  coef_group = NULL,
  coef_map = NULL,
  coef_omit = NULL,
  coef_rename = NULL,
  gof_map = NULL,
  gof_omit = NULL,
  add_rows = NULL,
  align = NULL,
  notes = NULL,
  title = NULL,
  stacking = "horizontal",
  ...
)

Arguments

models

a model or (optionally named) list of models

output

filename or object type (character string)

  • Supported filename extensions: .html, .tex, .md, .txt, .png, .jpg.

  • Supported object types: "default", "html", "markdown", "latex", "data.frame", "gt", "kableExtra", "huxtable", "flextable".

  • Warning: the `output` argument cannot be used when customizing tables with external packages. See the 'Details' section below.

fmt

determines how to format numeric values

  • integer: the number of digits to keep after the period `format(round(x, fmt), nsmall=fmt)`

  • character: passed to the `sprintf` function (e.g., '%.3f' keeps 3 digits with trailing zero). See `?sprintf`

  • function: returns a formatted character string.

estimate

string or `glue` string of the estimate to display (or a vector with one string per model). Valid entries include any column name of the data.frame produced by `get_estimates(model)`. Examples:

  • "estimate"

  • "{estimate} ({std.error})stars"

  • "{estimate} [{conf.low}, {conf.high}]"

statistic

vector of strings or `glue` strings which select uncertainty statistics to report vertically below the estimate. NULL omits all uncertainty statistics.

  • "conf.int", "std.error", "statistic", "p.value", "conf.low", "conf.high", or any column name produced by: `get_estimates(model)`

  • `glue` package strings with braces, such as:

    • "{p.value} [{conf.low}, {conf.high}]"

    • "Std.Error: {std.error}"

  • Note: Parentheses are added automatically unless the string includes `glue` curly braces {}.

  • Note: To report uncertainty statistics next to coefficients, you can supply a `glue` string to the `estimate` argument.

vcov

robust standard errors and other manual statistics. The `vcov` argument accepts five types of input (see the 'Details' and 'Examples' sections below):

  • string, vector, or list of strings: "robust", "HC", "HC0", "HC1", "HC2", "HC3", "HC4", "HC4m", "HC5", "stata", or "classical" (alias "constant" or "iid").

  • formula or list of formulas with the cluster variable(s) on the right-hand side (e.g., ~clusterid).

  • function or list of functions which return variance-covariance matrices with row and column names equal to the names of your coefficient estimates (e.g., `stats::vcov`, `sandwich::vcovHC`).

  • list of `length(models)` variance-covariance matrices with row and column names equal to the names of your coefficient estimates.

  • a list of length(models) vectors with names equal to the names of your coefficient estimates. See 'Examples' section below.

conf_level

confidence level to use for confidence intervals

stars

to indicate statistical significance

  • FALSE (default): no significance stars.

  • TRUE: *=.1, **=.05, ***=.01

  • Named numeric vector for custom stars such as `c('*' = .1, '+' = .05)`

coef_group

the name of the coefficient groups to use as columns (NULL or character). If `coef_group` is NULL, `modelsummary` tries to guess the correct coefficient group identifier. To be valid, this identifier must be a column in the data.frame produced by `tidy(model)`. Note: you may have to load the `broom` or `broom.mixed` package before executing `tidy(model)`.

coef_map

named character vector. Values refer to the variable names that will appear in the table. Names refer to the original term names stored in the model object, e.g. c("hp:mpg"="hp X mpg") for an interaction term. Coefficients that are omitted from this vector will be omitted from the table. The table will be ordered in the same order as this vector.

coef_omit

string regular expression. Omits all matching coefficients from the table using `grepl(perl=TRUE)`.

coef_rename

named character vector. Values refer to the variable names that will appear in the table. Names refer to the original term names stored in the model object, e.g. c("hp:mpg"="hp X mpg") for an interaction term.

gof_map
  • NULL (default): the `modelsummary::gof_map` dictionary is used for formatting, and all unknown statistic are included.

  • data.frame with 3 columns named "raw", "clean", "fmt". Unknown statistics are omitted. See the 'Examples' section below.

  • list of lists, each of which includes 3 elements named "raw", "clean", "fmt". Unknown statistics are omitted. See the 'Examples section below'.

gof_omit

string regular expression. Omits all matching gof statistics from the table (using `grepl(perl=TRUE)`).

add_rows

a data.frame (or tibble) with the same number of columns as your main table. By default, rows are appended to the bottom of the table. You can define a "position" attribute of integers to set the row positions. See Examples section below.

align

A character string of length equal to the number of columns in the table. "lcr" means that the first column will be left-aligned, the 2nd column center-aligned, and the 3rd column right-aligned.

notes

list or vector of notes to append to the bottom of the table.

title

string

stacking

direction in which models are stacked: "horizontal" or "vertical"

...

all other arguments are passed to the `tidy` and `glance` methods used to extract estimates from the model. For example, this allows users to set `exponentiate=TRUE` to exponentiate logistic regression coefficients.

Value

a regression table in a format determined by the `output` argument.