Adds difference to tables created by tbl_summary()
.
The difference between two groups (typically mean or rate difference) is added
to the table along with the difference's confidence interval and a p-value (when applicable).
Usage
# S3 method for class 'tbl_summary'
add_difference(
x,
test = NULL,
group = NULL,
adj.vars = NULL,
test.args = NULL,
conf.level = 0.95,
include = everything(),
pvalue_fun = label_style_pvalue(digits = 1),
estimate_fun = list(c(all_continuous(), all_categorical(FALSE)) ~ label_style_sigfig(),
all_dichotomous() ~ label_style_sigfig(scale = 100, suffix = "%"), all_tests("smd")
~ label_style_sigfig()),
...
)
Arguments
- x
(
tbl_summary
)
table created withtbl_summary()
- test
(
formula-list-selector
)
Specifies the tests/methods to perform for each variable, e.g.list(all_continuous() ~ "t.test", all_dichotomous() ~ "prop.test", all_categorical(FALSE) ~ "smd")
.See below for details on default tests and ?tests for details on available tests and creating custom tests.
- group
(
tidy-select
)
Variable name of an ID or grouping variable. The column can be used to calculate p-values with correlated data. Default isNULL
. See tests for methods that utilize thegroup
argument.- adj.vars
(
tidy-select
)
Variables to include in adjusted calculations (e.g. in ANCOVA models). Default isNULL
.- test.args
(
formula-list-selector
)
Containing additional arguments to pass to tests that accept arguments. For example, add an argument for all t-tests, usetest.args = all_tests("t.test") ~ list(var.equal = TRUE)
.- conf.level
(
numeric
)
a scalar in the interval(0, 1)
indicating the confidence level. Default is 0.95- include
(
tidy-select
)
Variables to include in output. Default iseverything()
.- pvalue_fun
(
function
)
Function to round and format p-values. Default islabel_style_pvalue()
. The function must have a numeric vector input, and return a string that is the rounded/formatted p-value (e.g.pvalue_fun = label_style_pvalue(digits = 2)
).- estimate_fun
(
formula-list-selector
)
List of formulas specifying the functions to round and format differences and confidence limits.- ...
These dots are for future extensions and must be empty.
Examples
# Example 1 ----------------------------------
trial |>
select(trt, age, marker, response, death) %>%
tbl_summary(
by = trt,
statistic =
list(
all_continuous() ~ "{mean} ({sd})",
all_dichotomous() ~ "{p}%"
),
missing = "no"
) |>
add_n() |>
add_difference()
Characteristic
N
Drug A
N = 981
Drug B
N = 1021
Difference2
95% CI2
p-value2
Abbreviation: CI = Confidence Interval
1 Mean (SD); %
2 Welch Two Sample t-test; 2-sample test for equality of proportions with continuity correction
# Example 2 ----------------------------------
# ANCOVA adjusted for grade and stage
trial |>
select(trt, age, marker, grade, stage) %>%
tbl_summary(
by = trt,
statistic = list(all_continuous() ~ "{mean} ({sd})"),
missing = "no",
include = c(age, marker, trt)
) |>
add_n() |>
add_difference(adj.vars = c(grade, stage))
Characteristic
N
Drug A
N = 981
Drug B
N = 1021
Adjusted Difference2
95% CI2
p-value2
Abbreviation: CI = Confidence Interval
1 Mean (SD)
2 ANCOVA