Last chance! 50% off unlimited learning
Sale ends in
experimental
This helper, to be used with tbl_custom_summary()
, creates a function
computing a proportion and its confidence interval.
proportion_summary(
variable,
value,
weights = NULL,
na.rm = TRUE,
conf.level = 0.95,
method = c("wilson", "wilson.no.correct", "exact", "asymptotic")
)
String indicating the name of the variable from which the proportion will be computed.
Value (or list of values) of variable
to be taken into account
in the numerator.
Optional string indicating the name of a weighting variable.
If NULL
, all observations will be assumed to have a weight equal to 1
.
Should missing values be removed before computing the
proportion? (default is TRUE
)
Confidence level for the returned confidence interval. Must be strictly greater than 0 and less than 1. Default to 0.95, which corresponds to a 95 percent confidence interval.
Confidence interval method. Must be one of
c("wilson", "wilson.no.correct", "exact", "asymptotic")
. See details below.
Example 1
Computed statistics:
{n}
numerator, (weighted) number of observations equal to values
{N}
denominator, (weighted) number of observations
{prop}
proportion, i.e. n/N
{conf.low}
lower confidence interval
{conf.high}
upper confidence interval
Methods c("wilson", "wilson.no.correct")
are calculated with
stats::prop.test()
(with correct = c(TRUE, FALSE)
). The default method,
"wilson"
, includes the Yates continuity correction.
Methods c("exact", "asymptotic")
are calculated with Hmisc::binconf()
and the corresponding method.
Other tbl_custom_summary tools:
add_overall()
,
continuous_summary()
,
ratio_summary()
,
tbl_custom_summary()
# NOT RUN {
# Example 1 ----------------------------------
proportion_summary_ex1 <-
Titanic %>%
as.data.frame() %>%
tbl_custom_summary(
include = c("Age", "Class"),
by = "Sex",
stat_fns = ~ proportion_summary("Survived", "Yes", weights = "Freq"),
statistic = ~ "{prop}% ({n}/{N}) [{conf.low}-{conf.high}]",
digits = ~ list(
function(x) {style_percent(x, digits = 1)},
0, 0, style_percent, style_percent
),
overall_row = TRUE,
overall_row_last = TRUE
) %>%
bold_labels() %>%
modify_footnote(
update = all_stat_cols() ~ "Proportion (%) of survivors (n/N) [95% CI]"
)
# }
Run the code above in your browser using DataLab