export_summs | R Documentation |
This function allows users to use the features of
summ()
(e.g., standardization, robust standard errors)
in the context of shareable HTML, LaTeX, and
Microsoft Word tables. It relies heavily on huxtable::huxreg()
to do the table formatting. This is particularly useful for putting
the results of multiple models into a single table.
export_summs(
...,
error_format = "({std.error})",
error_pos = c("below", "right", "same"),
ci_level = 0.95,
statistics = NULL,
model.names = NULL,
coefs = NULL,
to.file = NULL,
file.name = NULL
)
... |
At minimum, a regression object(s). See details for more arguments. |
error_format |
Which of standard error, confidence intervals, test
statistics, or p values should be used to express uncertainty of estimates
for regression coefficients? See details for more info.
Default: |
error_pos |
Where should the error statistic defined in
|
ci_level |
If reporting confidence intervals, what should the
confidence level be? By default, it is .95 if
confidence intervals are requested in |
statistics |
Which model summary statistics should be included?
See |
model.names |
If you want to give your model(s) names at the top of each column, provide them here as a character vector. Otherwise, they will just be labeled by number. Default: NULL |
coefs |
If you want to include only a subset of the coefficients in the table, specify them here in a character vector. If you want the table to show different names for the coefficients, give a named vector where the names are the preferred coefficient names. See details for more. |
to.file |
Export the table to a Microsoft Word, PDF, or HTML document?
This functionality relies on |
file.name |
File name with (optionally) file path to save the
file. Ignored if |
There are many optional parameters not documented above. Any
argument that you would want to pass to summ()
, for instance,
will be used. Of particular interest may be the robust and scale
arguments. Note that some summ
arguments may not have any bearing
on the table output.
The default model summary statistics reporting follows this logic:
summ.lm = c(N = "nobs", R2 = "r.squared")
,
summ.glm = c(N = "nobs", AIC = "AIC", BIC = "BIC",
`Pseudo R2` = "pseudo.r.squared")
,
summ.svyglm = c(N = "nobs", R2 = "r.squared")
,
summ.merMod = c(N = "nobs", AIC = "AIC", BIC = "BIC",
`R2 (fixed)` = "r.squared.fixed",
`R2 (total)` = "r.squared")
summ.rq = c(N = "nobs", tau = "tau", R1 = "r.1", AIC = "AIC", BIC = "BIC")
Be sure to look at the summ()
documentation for more on the calculation
of these and other statistics, especially for mixed models.
If you set statistics = "all"
, then the statistics argument
passed to huxreg
will be NULL
, which reports whichever
model statistics are available via glance
. If you want no
model summary statistics, set the argument to character(0)
.
You have a few options for the error_format
argument.
You can include anything returned by broom::tidy()
(see also tidy.summ()
). For the most part, you will
be interested in std.error
(standard error), statistic
(test statistic, e.g. t-value or z-value), p.value
, or
conf.high
and conf.low
, which correspond to the
upper and lower bounds of the confidence interval for the estimate.
Note that the default ci_level
argument is .95, but you
can alter that as desired.
To format the error statistics, simply put the statistics desired in
curly braces wherever you want them in a character string. For example,
if you want the standard error in parentheses, the argument would be
"({std.error})"
, which is the default. Some other ideas:
"({statistic})"
, which gives you the test statistic in
parentheses.
"({statistic}, p = {p.value})"
, which gives the test
statistic followed by a "p =" p value all in parentheses. Note that
you'll have to pay special attention to rounding if you do this to keep
cells sufficiently narrow.
"[{conf.low}, {conf.high}]"
, which gives the confidence
interval in the standard bracket notation. You could also explicitly
write the confidence level, e.g.,
"CI [{conf.low}, {conf.high}]"
.
For coefs
, the argument is slightly different than what is default
in huxreg
. If you provide a named vector of coefficients, then
the table will refer to the selected coefficients by the names of the
vector rather than the coefficient names. For instance, if I want to
include only the coefficients for the hp
and mpg
but have
the table refer to them as "Horsepower" and "Miles/gallon", I'd provide
the argument like this:
c("Horsepower" = "hp", "Miles/gallon" = "mpg")
You can also pass any argument accepted by the
huxtable::huxreg()
function. A few that are likely to be
oft-used are documented above, but visit huxreg
's documentation
for more info.
For info on converting the huxtable::huxtable()
object to
HTML or LaTeX, see huxtable
's documentation.
A huxtable
.
summ
huxreg
states <- as.data.frame(state.x77)
fit1 <- lm(Income ~ Frost, data = states)
fit2 <- lm(Income ~ Frost + Illiteracy, data = states)
fit3 <- lm(Income ~ Frost + Illiteracy + Murder, data = states)
if (requireNamespace("huxtable")) {
# Export all 3 regressions with "Model #" labels,
# standardized coefficients, and robust standard errors
export_summs(fit1, fit2, fit3,
model.names = c("Model 1","Model 2","Model 3"),
coefs = c("Frost Days" = "Frost",
"% Illiterate" = "Illiteracy",
"Murder Rate" = "Murder"),
scale = TRUE, robust = TRUE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.