Changelog
Source:NEWS.md
modelsummary 1.4.2
CRAN release: 2023-08-25
New:
- Minimal support for
Typst
output, with auto-detection in Quarto documents. -
strip
argument indvnames
. -
s.value
statistic is now available wheneverp.value
is available. See Greenland (2019). -
datasummary_skim()
now includes histograms ingt
tables.
Bugs:
- GOF term names get escaped in LaTeX. Thanks to @shreyasgm for reviving Issue #546.
- Conflict with
furrr
generated errors for some models. Thanks to @sammo3182 for Issue #647.
modelsummary 1.4.1
CRAN release: 2023-05-19
New:
-
fmt_sci()
can now be used in thefmt
argument for rounding with scientific notation.
Bugs:
- Group separators respect
add_rows
withshape="rbind"
. Thanks to @lrose1 for Report #626. - Bad column with horizontal models in
shape
and grouped estimates. Thanks to @iago-pssjd for Report #631. -
coef_rename=TRUE
bug with grouped estimates. Thanks to @iago-pssjd for Report #631. - Upstream issue #881 in
parameters
meant thatvcov
was no longer used for confidence intervals.
modelsummary 1.4.0
CRAN release: 2023-04-26
- Built-in support for markdown tables.
- Package no longer depends on
kableExtra
. Recommends an additional install for other formats. - Persistent configuration of default output format:
config_modelsummary(factory_default = "gt")
-
shape = "rcollapse"
andshape = "rbind"
-
glance_custom()
can drop GOF by assigningNA
: https://stackoverflow.com/questions/75215355/assigning-different-coefficient-names-and-goodness-of-fit-statistics-to-differen - When a
statistic
is not available,modelsummary
prints an empty cell instead of returning an error. - “\label{tab:something}” works in
title
even whenescape=TRUE
- Multiple
fixest_multi
objects supported. -
options(modelsummary_future = FALSE)
disablesfuture
parallelism.
Bug fixes:
-
statistic=NULL
is now respected whenshape="rbind"
. Thanks to Panos Mavros for report #620. -
get_estimates()
supportsvcov
string shortcuts and formulas. Thanks to @ethans-carl for report #605. - Quarto and Rmarkdown documents include
situnix
in header automatically for decimal alignement withalign="ddd"
-
escape
is now respected bymodelsummary
withshape="rbind"
. Thanks to @chickymonkeys for report #622.
modelsummary 1.3.0
CRAN release: 2023-01-05
Breaking change:
- The default column label style in
modelsummary()
has changed from “Model 1” to “(1)”. The benefits are: labels are no longer in English by default; use less horizontal space; eliminate the “Model” redundancy. Unfortunately, this could break code in some edge cases where users rely on column names to manipulate tables. The old behavior can be restored by calling:options(modelsummary_model_labels="model")
New features:
-
shape="rbind"
to stack multiple regression tables and create “panels” with labelled groups of models. -
fmt
: new helper functions for different formatting styles-
fmt = fmt_decimal(2)
: decimal digits -
fmt = fmt_decimal(digits = 2, pdigits = 4)
: decimal digits with p value-specific setting -
fmt = fmt_sprintf("%.3f")
:sprintf()
decimal -
fmt = fmt_sprintf("%.3e")
:sprintf()
scientific -
fmt = fmt_significant(3)
: significant digits -
fmt = fmt_statistic("estimate" = 2, "std.error" = 3)
: statistic-specific formatting -
fmt = fmt_term("(Intercept)" = 2, "hp" = 3)
: term-specific formatting -
fmt = fmt_identity()
: raw values
-
- New styles for default column labels in
modelsummary
, such as Roman Numerals or letters in parentheses.- Set the style with a global option:
options(modelsummary_model_labels = "roman")
- Supported styles: “model”, “arabic”, “letters”, “roman”, “(arabic)”, “(letters)”, “(roman)””
- Set the style with a global option:
-
modelplot(draw = FALSE)
now returns ap.value
column. This allows conditional aesthetics (see themodelplot
vignette). - Better integration with the
marginaleffects
package.
Bugs:
- Some
fixest
models returns useless “group.x” and “group.y” columns. Isse #591. Thanks to Adam Altmejd for the report.
modelsummary 1.2.0
CRAN release: 2022-11-26
Breaking change:
- With the
shape
andoutput="dataframe"
arguments, there always used to be agroup
column. Now, this column has the same name as the variable in theshape
formula (“response”, “component”, etc.).
New features:
-
shape
can include multiple groups. -
coef_rename
can be an unnamed vector of length equal to the number of terms in the final table, obtained aftercoef_map
andcoef_omit
are applied and models are merged. -
coef_omit
accepts numeric indices. Positive values: coefficients to omit. Negative values: coefficients to keep. -
datasummary_skim
: Increased maximum number of variables to 250. - Quarto notebooks compile to Word and Markdown automatically.
Bug fixes:
- Order of notes preserved in some output format (Issue #577)
modelsummary 1.1.0
CRAN release: 2022-10-20
Breaking change:
- Requires
siunitx
version 3.0.25 LaTeX package. - The
title
argument now respects theescape
argument for allkableExtra
output formats. This can break tables in which users manually escaped titles.
New features:
- “d” is accepted for decimal-alignment in the
align
argument for alloutput
formats.modelsummary(mod, align = "ld")
- New
update_modelsummary()
function makes it easy to install the dev versions ofmodelsummary
and its dependencies (mostly useful for Vincent and people who report bugs). - Rounding: display at least one significant digit by default.
- Automatic renaming of
haven
labels inmodelsummary()
,datasummary()
,datasummary_skim()
- Allow
output = "filename.csv"
- Allow
output = "filename.xlsx"
-
add_columns
argument supported inmodelsummary()
-
datasummary_balance
supports thestars
argument. - Allow stars and confidence intervals with
align = "d"
column.
Bug fixes:
- In some locales, the HTML minus sign created problems in the output. We only use it in “known” locales.
- Many minor bug fixes
modelsummary 1.0.1
CRAN release: 2022-07-13
-
shape
argument accepts interactions with the colon “:” character. This combines two columns into one, which can be useful to display terms and group names in a single column. - Parallelization using
parallel::mclapply
. See?modelsummary
-
modelsummary
no longer computes confidence intervals when not necessary, which can save some time. Also see:conf_level=NULL
- Added log likelihood to GOF for lm and glm models.
- Removed extraneous warnings
- Bug fixes
modelsummary 1.0.0
CRAN release: 2022-06-29
This first major release accompanies the publication of an article in the Journal of Statistical Software:
Arel-Bundock, Vincent (2022). “modelsummary: Data and Model Summaries in R.” Journal of Statistical Software, 103(1), 1-23. doi:10.18637/jss.v103.i01 https://doi.org/10.18637/jss.v103.i01.’
If you like modelsummary
, please cite the JSS article and tell your friends about it.
Minor changes:
-
gof_map="all"
includes all available statistics.gof_map="none"
excludes all statistics. - Bug fixes
modelsummary 0.11.1
CRAN release: 2022-06-11
- Better printout for term names in mixed-effects models
- {brms} and {stanreg} models now extracted with
diagnostic=NULL
andtest=NULL
by default for speed.
modelsummary 0.11.0
CRAN release: 2022-06-06
Breaking changes:
-
modelsummary_wide
is no longer available. Use theshape
argument ofmodelsummary
instead. -
modelsummary
now uses theeasystats
packages (performance
andparameters
) to extract estimates and goodness-of-fit statistics instead ofbroom
. This can be reverted by setting a global option:options(modelsummary_get="broom")
. This change aims to (1) increase consistency across models, (2) improve the developers’ ability to push bug fixes upstream when necessary, and (3) improve support for mixed effects, bayesian, and GAM models. The two main drawbacks are: (a) The set of printed statistics may be slightly different from previous versions ofmodelsummary
(b) The group identifiers used in theshape
formula will also be different for certain models (e.g., innnet::multinom
,y.level
becomesresponse
).
New features:
- The
shape
argument accepts a formula and can reshape information in myriad ways. Deprecates thegroup
argument. Examples:-
~ statistic
: statistics are shown horizontally in distinct columns. -
model ~ term
: models in rows and terms in columns. -
term + y.level + statistic ~ model
: grouped coefficients for multivariate outcome innnet::multinom
-
y.level ~ model
: partial match is the same as the previous formula
-
- Format distinct statistics differently by passing a named list to
fmt
:modelsummary(mod, fmt = list(estimate = 2, std.error = 1, rmse = 4))
- Use
glue
to apply functions to numeric values by settingfmt = NULL
. Example:modelsummary(model, fmt = NULL, estimate = "{log(estimate)}")
- Update for breaking changes after fixest 0.10.4
Bug fixes:
-
group_map
rename issue - Residual standard error mistakenly labelled “RMSE” in
lm
models. -
datasummary_skim
output to jpg should now works -
escape
fixes
modelsummary 0.10.0
CRAN release: 2022-04-14
- New
exponentiate
argument formodelsummary()
andmodelplot()
-
gof_map
accepts a vector such asc("rmse", "nobs", "r.squared")
- Drop
rlang
dependency - Bug fixes
modelsummary 0.9.6
CRAN release: 2022-02-25
datasummary_balance
:
- Accepts
~ 1
as a formula to summarize all data.
Misc:
- documentation improvements
- RMSE included by default in models of class
lm
modelsummary 0.9.5
CRAN release: 2022-01-10
modelsummary
:
-
vcov
strings likeHC1
andRobust
are now case-insensitive -
gof_map
now accepts a data.frame or tibble with afmt
list-column which includes functions (see Examples in docs) -
R2
is no longer computed by default for bayesian and mixed effects models. An informative one-time warning is printed about themetrics
argument.
datasummary_skim
:
- Histograms now work in Jupyter
- Bugfix: harmless error message is no longer printed
kableExtra
factory:
- The
col.names
argument can now be passed tokableExtra::kbl
through the … ellipsis.
Misc:
- Many small improvements to the vignettes and docs
-
output = "github_document"
is now supported
modelsummary 0.9.3
CRAN release: 2021-11-02
modelsummary
:
- F statistic takes into account
vcov
argument - Support group = group ~ model + term
datasummary_balance
:
- Weighted means and standard deviations are now supported. Counts and percentages are not, but raise a warning.
Misc:
- Bugfix: rounding in LaTeX w/ siunitx and NaN entries.
- output=‘jupyter’ no longer prints an extraneous TRUE to the notebook
modelsummary 0.9.2
CRAN release: 2021-09-29
modelsummary
:
- Improved
vcov
argument handling forfixest
models (#357 by @grantmcdermott) - Fix display of
fixest::i()
variables and interactions (#361 by @grantmcdermott) - Consistent display of clustered SEs (#356, #363 and #366 by @grantmcdermott)
datasummary_correlation
:
-
add_rows
andadd_columns
arguments are now available here.
Misc:
- Global options for output factories are renamed:
modelsummary_factory_default
,modelsummary_factory_html
, etc. - Hot fix for change in R-devel behavior or
intersect
Bug fixes:
-
datasummary_balance
: escape variable names whenescape=TRUE
- Blogdown LaTeX dependency bug when output is HTML
modelsummary 0.9.1
CRAN release: 2021-08-12
Breaking change:
- Support for
dcolumn
for dot-aligned columns is deprecated. Use “d” in thealign
argument instead.
Other changes:
- LaTeX output: Numeric entries are wrapped in the
\num{}
function from thesiunitx
package by default. This produces much nicer formatting. This can be disabled with a global option. See?modelsummary
- The
align
argument accepts a “d” column for dot-alignment using thesiunitx
LaTeX package:align="ldd"
. - HTML tables display proper minus signs.
- New
escape
argument in most table-building functions. - LaTeX output accepts the
threeparttable=TRUE
argument through...
- No more dependency on
tidyr
modelsummary
:
-
group
: The order of terms in the formula determines the order of rows/columns
modelsummary_wide
:
- Note: This function will eventually be deprecated
- Bugfix with statistic=NULL.
modelplot
:
- Preserves order of models in the user-supplied list
datasummary_crosstab
:
-
statistic=NULL
produces a very basic crosstab
datasummary_crosstab
:
- Default alignment “lrrrrr” consistent with other datasummary_* functions
modelsummary 0.8.1
CRAN release: 2021-06-17
modelsummary
:
- Disable stars footnote with
options("modelsummary_stars_note" = FALSE)
-
longtable=TRUE
works for LaTeX output - Interactions with “:” are no longer converted to “x” when
coef_map
orcoef_rename
are used. -
group = model ~ term + group
is now supported.
datasummary_skim
:
-
datasummary_skim("categorical")
keepsNA
by default. Users can convert variables to factors before callingdatasummary_skim
to excludeNA
.
Other:
- Improved warnings for bad calls:
modelsummary(model1, model2)
-
gt
titles use the newcaption
argument in thegt 0.3.0
function - Bug fix: Overaggressive tests for glue strings prevented functions inside {}
modelsummary 0.8.0
CRAN release: 2021-05-21
Breaking change:
- The default significance markers
stars=TRUE
have been updated to be consistent with the default output from base R (e.g., in summary.lm). The new significance thresholds are: “+” p < 0.1, “” p < 0.05, ”” p < 0.01, ”” p < 0.001
datasummary_crosstab
:
- New function to produce cross-tabulations
datasummary
:
-
N
is smart enough to return either the number of elements in a subset or the number of non-missing observations in a variable
datasummary_balance
:
- Keeps
NA
s in factor variables by default. Users can convert their variables with thefactor()
function to omitNA
s automatically.
modelsummary
:
- themes can be set using global options (experimental)
- new vcov options: “bootstrap”, “HAC”, “NeweyWest”, “Andrews”, “panel-corrected”, “weave”, “outer-product”
- A valid
get_gof
(glance
) is now optional. - … is pushed through to
sandwich
, which allows things like:modelsummary(model, vcov = "bootstrap", R = 1000, cluster = "firm")
Other:
- Jupyter notebook support via
output="jupyter"
- Bug fixes
modelsummary 0.7.0
CRAN release: 2021-04-19
modelsummary
:
- new arguments for
modelsummary
:group
andgroup_map
for grouped parameters (e.g., outcome levels in multinomial logit or components of gamlss model). -
dvnames()
makes it easy to get dependent variable column titles (thanks to @NickCH-K) -
output="modelsummary_list"
to save a lightweight list-based representation of the table which can be saved and fed tomodelsummary
once more to get a full table. -
vcov
adds a row to note the type of standard errors. -
modelsummary
accepts a single model with multiplevcov
s. -
get_gof
forwards … tomodel_performance
-
coef_map
accepts unnamed vectors for easy subsetting -
fixest::fixest_multi
support -
options(modelsummary_get)
to set the order of extraction functions to use under the hood (broom vs. easystats vs. all) -
metrics
argument ofperformance::model_performance
is available viamodelsummary
’s … ellipsis to limit the GOF statistics in Bayesian models. - users can omit the stars legend note by using glue strings:
estimate="{estimate}{stars}"
- output=“html” can use
gt
by settingoptions(modelsummary_factory_html="gt")
datasummary_correlation
:
- passes
...
forward - new function:
datasummary_correlation_format
-
datasummary_correlation
’smethod
argument accepts functions and “pearspear” (thanks to @joachim-gassen)
datasummary
:
-
datasummary
functions androunding
accept …, big.mark, etc.
datasummary_skim
:
- now works with haven_labeled numeric
- faster tables with bayesian models.
Bug fixes and lints
modelsummary 0.6.6
CRAN release: 2021-02-16
- new output format: latex_tabular
-
tidy_custom
allows partial term matches -
modelsummary(coef_rename)
accepts functions - new function
coef_rename
for use inmodelsummary(coef_rename=coef_rename)
-
modelplot
acceptsadd_rows
to add reference categories - informative error message when estimate or statistic is not available
- bug fixes
modelsummary 0.6.5
CRAN release: 2021-01-07
-
statistic_override
becomesvcov
- vcov accepts shortcuts: “robust”, “stata”, “HC0”, etc.
- vcov accepts formulas for clustered SEs: ~group
- modelsummary_wide has a new “stacking” argument
- html horizontal rule to separate estimates form gof
- gof_map accepts list of lists. only needs 3 columns.
- support officedown Rmd
- estimate accepts a vector for per model estimates
- options(modelsummary_default) can be markdown, html, latex
- bug: passing arguments through …
- bug: stars and rounding
modelsummary 0.6.4
CRAN release: 2020-12-15
- glue format for
estimate
andstatistic
- easystats support for model info extraction
- deprecate statistic_vertical
- deprecate extract_models. Use modelsummary(output=“dataframe”) instead.
- modelplot pushes … through to modelsummary(output=“dataframe”)
- datasummary_skim(type=“dataset”)
- gof_map omits by default
- datasummary_balance uses row percentages
- statistic_override does not require a list
- statistic_override accepts a single model
- N function for well formatted N in datasummary
- Bug fixes
modelsummary 0.6.3
CRAN release: 2020-10-24
- new function: modelsummary_wide
- coef_omit and gof_omit use grepl(perl=TRUE)
- fmt accepts integer, string or function and respects options(OutDec=“,”)
- align argument for modelsummary
- align is more liberal to accept dcolumn alignment
- glance_custom methods for lfe and fixest
- bug fixes
modelsummary 0.6.2
CRAN release: 2020-09-29
- new argument: coef_rename
- new function: datasummary_df
- preserve term order in modelsummary
- refactor datasummary_balance
- datasummary_skim uses svg histograms instead of unicode
- removed 5 dependencies
- pass … to kableExtra::kbl for more customization
- test improvements
- internal code style
- bug fixes
modelsummary 0.6.0
CRAN release: 2020-09-02
- default HTML output factory is now kableExtra
- interaction “:” gsubbed by “0d7”
- dependencies: removed 1 depends, 3 imports, and 3 suggests
- word_document knitr works out-of-the-box
- bug fixes
modelsummary 0.4.1
CRAN release: 2020-06-17
- add_rows now accepts a data.frame with “position” and “section” columns
- add_rows_location is deprecated
- bug in sanity_output prevented overwriting files
modelsummary 0.4.0
CRAN release: 2020-06-13
- huxtable support
- flextable support
- estimate argument
- fixest tidiers
- website and vignette improvements
- gof_map additions
- glance_custom
- tidy_custom
modelsummary 0.3.0
CRAN release: 2020-05-26
- Out-of-the-box Rmarkdown compilation to HTML, PDF, RTF
- kableExtra output format for LaTeX and Markdown
- Support for
threeparttable
, colors, and many other LaTeX options - Deprecated arguments: filename, subtitle
- Deprecated functions: clean_latex, knit_latex
-
pkgdown
website and doc improvements -
mitools
tidiers - New tests
modelsummary 0.2.1
CRAN release: 2020-04-30
- Convenience function to render markdown in row/column labels
- bug: breakage when all GOF were omitted
- Clean up manual with @keywords internal
- bug: tidyr import
modelsummary 0.2.0
CRAN release: 2020-04-05
- gt is now available on CRAN
- new latex_env argument for knit_latex and clean_latex
- bug when all gof omitted
- bug in statistic_override with functions
- bug caused by upstream changes in tab_style
- bug caused by upstream changes in filename=‘rtf’
- Allow multiple rows of uncertainty estimates per coefficient
- Preserve add_rows order
- Display uncertainty estimates next to the coefficient with statistic_vertical = FALSE
- Better clean_latex function
- Can display R2 and confidence intervals for mice-imputed lm-models
- Internal functions have @keywords internal to avoid inclusion in docs
- Statistic override accepts pre-formatted character vectors