Constructor Function for analyze_vars()
and summarize_colvars()
Source: R/analyze_variables.R
create_afun_summary.Rd
Arguments
- .stats
(
character
)
statistics to select for the table.- .formats
(named
character
orlist
)
formats for the statistics.- .labels
(named
character
)
labels for the statistics (without indent).- .indent_mods
(named
vector
ofinteger
)
indent modifiers for the labels. Each element of the vector should be a name-value pair with name corresponding to a statistic specified in.stats
and value the indentation for that statistic's row label.
Value
Combined formatted analysis function for use in analyze_vars()
.
Note
Since a_summary()
is generic and we want customization of the formatting arguments
via rtables::make_afun()
, we need to create another temporary generic function, with
corresponding customized methods. Then in order for the methods to be found,
we need to wrap them in a combined afun
. Since this is required by two layout creating
functions (and possibly others in the future), we provide a constructor that does this:
create_afun_summary()
.
Examples
# `create_afun_summary()` to create combined `afun`
afun <- create_afun_summary(
.stats = NULL,
.formats = c(median = "xx."),
.labels = c(median = "My median"),
.indent_mods = c(median = 1L)
)
## Fabricated dataset.
dta_test <- data.frame(
USUBJID = rep(1:6, each = 3),
PARAMCD = rep("lab", 6 * 3),
AVISIT = rep(paste0("V", 1:3), 6),
ARM = rep(LETTERS[1:3], rep(6, 3)),
AVAL = c(9:1, rep(NA, 9))
)
l <- basic_table() %>%
split_cols_by(var = "ARM") %>%
split_rows_by(var = "AVISIT") %>%
analyze(vars = "AVAL", afun = afun)
build_table(l, df = dta_test)
#> A B C
#> ——————————————————————————————————————————————————————————————————————
#> V1
#> n 2 1 0
#> Sum 15.0 3.0 NA
#> Mean 7.5 3.0 NA
#> SD 2.1 NA NA
#> SE 1.5 NA NA
#> Mean (SD) 7.5 (2.1) 3.0 (NA) NA
#> Mean (SE) 7.5 (1.5) 3.0 (NA) NA
#> Mean 95% CI (-11.56, 26.56) NA NA
#> Mean -/+ 1xSE (6.00, 9.00) NA NA
#> Mean -/+ 1xSD (5.38, 9.62) NA NA
#> Mean p-value (H0: mean = 0) 0.13 NA NA
#> My median 8 3 NA
#> Median Absolute Deviation 0.0 0.0 NA
#> Median 95% CI NA NA NA
#> 25% and 75%-ile 6.0 - 9.0 3.0 - 3.0 NA
#> IQR 3.0 0.0 NA
#> Min - Max 6.0 - 9.0 3.0 - 3.0 NA
#> CV (%) 28.3 NA NA
#> Minimum 6.0 3.0 NA
#> Maximum 9.0 3.0 NA
#> Median (Min - Max) 7.5 (6.0 - 9.0) 3.0 (3.0 - 3.0) NA
#> Geometric Mean 7.3 3.0 NA
#> CV % Geometric Mean 29.3 NA NA
#> V2
#> n 2 1 0
#> Sum 13.0 2.0 NA
#> Mean 6.5 2.0 NA
#> SD 2.1 NA NA
#> SE 1.5 NA NA
#> Mean (SD) 6.5 (2.1) 2.0 (NA) NA
#> Mean (SE) 6.5 (1.5) 2.0 (NA) NA
#> Mean 95% CI (-12.56, 25.56) NA NA
#> Mean -/+ 1xSE (5.00, 8.00) NA NA
#> Mean -/+ 1xSD (4.38, 8.62) NA NA
#> Mean p-value (H0: mean = 0) 0.14 NA NA
#> My median 6 2 NA
#> Median Absolute Deviation 0.0 0.0 NA
#> Median 95% CI NA NA NA
#> 25% and 75%-ile 5.0 - 8.0 2.0 - 2.0 NA
#> IQR 3.0 0.0 NA
#> Min - Max 5.0 - 8.0 2.0 - 2.0 NA
#> CV (%) 32.6 NA NA
#> Minimum 5.0 2.0 NA
#> Maximum 8.0 2.0 NA
#> Median (Min - Max) 6.5 (5.0 - 8.0) 2.0 (2.0 - 2.0) NA
#> Geometric Mean 6.3 2.0 NA
#> CV % Geometric Mean 34.2 NA NA
#> V3
#> n 2 1 0
#> Sum 11.0 1.0 NA
#> Mean 5.5 1.0 NA
#> SD 2.1 NA NA
#> SE 1.5 NA NA
#> Mean (SD) 5.5 (2.1) 1.0 (NA) NA
#> Mean (SE) 5.5 (1.5) 1.0 (NA) NA
#> Mean 95% CI (-13.56, 24.56) NA NA
#> Mean -/+ 1xSE (4.00, 7.00) NA NA
#> Mean -/+ 1xSD (3.38, 7.62) NA NA
#> Mean p-value (H0: mean = 0) 0.17 NA NA
#> My median 6 1 NA
#> Median Absolute Deviation 0.0 0.0 NA
#> Median 95% CI NA NA NA
#> 25% and 75%-ile 4.0 - 7.0 1.0 - 1.0 NA
#> IQR 3.0 0.0 NA
#> Min - Max 4.0 - 7.0 1.0 - 1.0 NA
#> CV (%) 38.6 NA NA
#> Minimum 4.0 1.0 NA
#> Maximum 7.0 1.0 NA
#> Median (Min - Max) 5.5 (4.0 - 7.0) 1.0 (1.0 - 1.0) NA
#> Geometric Mean 5.3 1.0 NA
#> CV % Geometric Mean 41.2 NA NA