-
Notifications
You must be signed in to change notification settings - Fork 114
/
tbl_regression.Rd
114 lines (98 loc) · 4.74 KB
/
tbl_regression.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/tbl_regression.R
\name{tbl_regression}
\alias{tbl_regression}
\alias{tbl_regression.default}
\title{Regression model summary}
\usage{
tbl_regression(x, ...)
\method{tbl_regression}{default}(
x,
label = NULL,
exponentiate = FALSE,
include = everything(),
show_single_row = NULL,
conf.level = 0.95,
intercept = FALSE,
estimate_fun = ifelse(exponentiate, label_style_ratio(), label_style_sigfig()),
pvalue_fun = label_style_pvalue(digits = 1),
tidy_fun = broom.helpers::tidy_with_broom_or_parameters,
add_estimate_to_reference_rows = FALSE,
conf.int = TRUE,
...
)
}
\arguments{
\item{x}{(regression model)\cr
Regression model object}
\item{...}{Additional arguments passed to \code{\link[broom.helpers:tidy_plus_plus]{broom.helpers::tidy_plus_plus()}}.}
\item{label}{(\code{\link[=syntax]{formula-list-selector}})\cr
Used to change variables labels, e.g. \code{list(age = "Age", stage = "Path T Stage")}}
\item{exponentiate}{(scalar \code{logical})\cr
Logical indicating whether to exponentiate the coefficient estimates.
Default is \code{FALSE}.}
\item{include}{(\code{\link[dplyr:dplyr_tidy_select]{tidy-select}})\cr
Variables to include in output. Default is \code{everything()}.}
\item{show_single_row}{(\code{\link[dplyr:dplyr_tidy_select]{tidy-select}})\cr
By default categorical variables are printed on multiple rows.
If a variable is dichotomous (e.g. Yes/No) and you wish to print the
regression coefficient on a single row, include the variable name(s) here.}
\item{conf.level}{(scalar \code{real})\cr
Confidence level for confidence interval/credible interval. Defaults to \code{0.95}.}
\item{intercept}{(scalar \code{logical})\cr
Indicates whether to include the intercept in the output. Default is \code{FALSE}}
\item{estimate_fun}{(\code{function})\cr
Function to round and format coefficient estimates.
Default is \code{\link[=label_style_sigfig]{label_style_sigfig()}} when the coefficients are not transformed, and
\code{\link[=label_style_ratio]{label_style_ratio()}} when the coefficients have been exponentiated.}
\item{pvalue_fun}{(\code{function})\cr
Function to round and format p-values. Default is \code{\link[=label_style_pvalue]{label_style_pvalue()}}.}
\item{tidy_fun}{(\code{function})\cr
Tidier function for the model. Default is to use \code{broom::tidy()}.
If an error occurs, the tidying of the model is attempted with
\code{parameters::model_parameters()}, if installed.}
\item{add_estimate_to_reference_rows}{(scalar \code{logical})\cr
Add a reference value. Default is \code{FALSE}.}
\item{conf.int}{(scalar \code{logical})\cr
Logical indicating whether or not to include a confidence
interval in the output. Default is \code{TRUE}.}
}
\value{
A \code{tbl_regression} object
}
\description{
This function takes a regression model object and returns a formatted table
that is publication-ready. The function is customizable
allowing the user to create bespoke regression model summary tables.
Review the
\href{https://www.danieldsjoberg.com/gtsummary/articles/tbl_regression.html}{\code{tbl_regression()} vignette}
for detailed examples.
}
\section{Methods}{
The default method for \code{tbl_regression()} model summary uses \code{broom::tidy(x)}
to perform the initial tidying of the model object. There are, however,
a few models that use \link[=tbl_regression_methods]{modifications}.
\itemize{
\item \code{"parsnip/workflows"}: If the model was prepared using parsnip/workflows,
the original model fit is extracted and the original \verb{x=} argument
is replaced with the model fit. This will typically go unnoticed; however,if you've
provided a custom tidier in \verb{tidy_fun=} the tidier will be applied to the model
fit object and not the parsnip/workflows object.
\item \code{"survreg"}: The scale parameter is removed, \code{broom::tidy(x) \%>\% dplyr::filter(term != "Log(scale)")}
\item \code{"multinom"}: This multinomial outcome is complex, with one line per covariate per outcome (less the reference group)
\item \code{"gam"}: Uses the internal tidier \code{tidy_gam()} to print both parametric and smooth terms.
\item \code{"lmerMod"}, \code{"glmerMod"}, \code{"glmmTMB"}, \code{"glmmadmb"}, \code{"stanreg"}, \code{"brmsfit"}: These mixed effects
models use \code{broom.mixed::tidy(x, effects = "fixed")}. Specify \code{tidy_fun = broom.mixed::tidy}
to print the random components.
}
}
\examples{
\dontshow{if (gtsummary:::is_pkg_installed(c("cardx", "broom", "broom.helpers"), reference_pkg = "gtsummary")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
# Example 1 ----------------------------------
glm(response ~ age + grade, trial, family = binomial()) |>
tbl_regression(exponentiate = TRUE)
\dontshow{\}) # examplesIf}
}
\author{
Daniel D. Sjoberg
}