Usage
datasummary_crosstab(
  formula,
  statistic = 1 ~ 1 + N + Percent("row"),
  data,
  output = getOption("modelsummary_output", default = "default"),
  fmt = 1,
  title = getOption("modelsummary_title", default = NULL),
  notes = getOption("modelsummary_notes", default = NULL),
  align = getOption("modelsummary_align", default = NULL),
  add_columns = getOption("modelsummary_add_columns", default = NULL),
  add_rows = getOption("modelsummary_add_rows", default = NULL),
  sparse_header = getOption("modelsummary_sparse_header", default = TRUE),
  escape = getOption("modelsummary_escape", default = TRUE),
  ...
)
Details
datasummary_crosstab is a wrapper around the datasummary function. This wrapper works by creating a customized formula and by feeding it to datasummary. The customized formula comes in two parts.
First, we take a two-sided formula supplied by the formula argument. All variables of that formula are wrapped in a Factor() call to ensure that the variables are treated as categorical.
Second, the statistic argument gives a two-sided formula which specifies the statistics to include in the table. datasummary_crosstab modifies this formula automatically to include "clean" labels.
Finally, the formula and statistic formulas are combined into a single formula which is fed directly to the datasummary function to produce the table.
Variables in formula are automatically wrapped in Factor().
Global Options
The behavior of modelsummary can be modified by setting global options. In particular, most of the arguments for most of the package’s functions cna be set using global options. For example:
- 
options(modelsummary_output = “modelsummary_list”)
 
- 
options(modelsummary_statistic = ‘({conf.low}, {conf.high})’)
 
- 
options(modelsummary_stars = TRUE)
 
Options not specific to given arguments are listed below.
Model labels: default column names
These global option changes the style of the default column headers:
The supported styles are: "model", "arabic", "letters", "roman", "(arabic)", "(letters)", "(roman)"
Table-making packages
modelsummary supports 6 table-making packages: tinytable, kableExtra, gt, flextable, huxtable, and DT. Some of these packages have overlapping functionalities. To change the default backend used for a specific file format, you can use ’ the options function:
options(modelsummary_factory_html = ‘kableExtra’) options(modelsummary_factory_word = ‘huxtable’) options(modelsummary_factory_png = ‘gt’) options(modelsummary_factory_latex = ‘gt’) options(modelsummary_factory_latex_tabular = ‘kableExtra’)
Table themes
Change the look of tables in an automated and replicable way, using the modelsummary theming functionality. See the vignette: https://modelsummary.com/vignettes/appearance.html
- 
modelsummary_theme_gt
 
- 
modelsummary_theme_kableExtra
 
- 
modelsummary_theme_huxtable
 
- 
modelsummary_theme_flextable
 
- 
modelsummary_theme_dataframe
 
Model extraction functions
modelsummary can use two sets of packages to extract information from statistical models: the easystats family (performance and parameters) and broom. By default, it uses easystats first and then falls back on broom in case of failure. You can change the order of priorities or include goodness-of-fit extracted by both packages by setting:
options(modelsummary_get = “easystats”)
options(modelsummary_get = “broom”)
options(modelsummary_get = “all”)
The "all" option (default) means easystats then broom.
Formatting numeric entries
By default, LaTeX tables enclose all numeric entries in the  command from the siunitx package. To prevent this behavior, or to enclose numbers in dollar signs (for LaTeX math mode), users can call:
options(modelsummary_format_numeric_latex = “plain”)
options(modelsummary_format_numeric_latex = “mathmode”)
A similar option can be used to display numerical entries using MathJax in HTML tables:
options(modelsummary_format_numeric_html = “mathjax”)