
Summarize the change from baseline or absolute baseline values
Source:R/summarize_change.R
summarize_change.RdThe primary analysis variable .var indicates the numerical change from baseline results,
and additional required secondary analysis variables are value and baseline_flag.
Depending on the baseline flag, either the absolute baseline values (at baseline)
or the change from baseline values (post-baseline) are then summarized.
Usage
summarize_change(
lyt,
vars,
variables,
na_str = default_na_str(),
nested = TRUE,
...,
table_names = vars,
.stats = c("n", "mean_sd", "median", "range"),
.formats = NULL,
.labels = NULL,
.indent_mods = NULL
)
s_change_from_baseline(df, .var, variables, na.rm = TRUE, ...)
a_change_from_baseline(df, .var, variables, na.rm = TRUE, ...)Arguments
- lyt
(
PreDataTableLayouts)
layout that analyses will be added to.- vars
(
character)
variable names for the primary analysis variable to be iterated over.- variables
(named
listofstring)
list of additional analysis variables.- na_str
(
string)
string used to replace allNAor empty values in the output.- nested
(
flag)
whether this layout instruction should be applied within the existing layout structure _if possible (TRUE, the default) or as a new top-level element (FALSE). Ignored if it would nest a split. underneath analyses, which is not allowed.- ...
additional arguments for the lower level functions.
- table_names
(
character)
this can be customized in the case that the samevarsare analyzed multiple times, to avoid warnings fromrtables.- .stats
(
character)
statistics to select for the table. Runget_stats("analyze_vars_numeric)to see available statistics for this function.- .formats
(named
characterorlist)
formats for the statistics. See Details inanalyze_varsfor more information on the"auto"setting.- .labels
(named
character)
labels for the statistics (without indent).- .indent_mods
(named
integer)
indent modifiers for the labels. Defaults to 0, which corresponds to the unmodified default behavior. Can be negative.- df
(
data.frame)
data set containing all analysis variables.- .var
(
string)
single variable name that is passed byrtableswhen requested by a statistics function.- na.rm
(
flag)
whetherNAvalues should be removed fromxprior to analysis.
Value
summarize_change()returns a layout object suitable for passing to further layouting functions, or tortables::build_table(). Adding this function to anrtablelayout will add formatted rows containing the statistics froms_change_from_baseline()to the table layout.
s_change_from_baseline()returns the same values returned bys_summary.numeric().
a_change_from_baseline()returns the corresponding list with formattedrtables::CellValue().
Functions
summarize_change(): Layout-creating function which can take statistics function arguments and additional format arguments. This function is a wrapper forrtables::analyze().s_change_from_baseline(): Statistics function that summarizes baseline or post-baseline visits.a_change_from_baseline(): Formatted analysis function which is used asafuninsummarize_change().
Note
To be used after a split on visits in the layout, such that each data subset only contains either baseline or post-baseline data.
The data in df must be either all be from baseline or post-baseline visits. Otherwise
an error will be thrown.
Examples
library(dplyr)
## Fabricate dataset
dta_test <- data.frame(
USUBJID = rep(1:6, each = 3),
AVISIT = rep(paste0("V", 1:3), 6),
ARM = rep(LETTERS[1:3], rep(6, 3)),
AVAL = c(9:1, rep(NA, 9))
) %>%
mutate(ABLFLL = AVISIT == "V1") %>%
group_by(USUBJID) %>%
mutate(
BLVAL = AVAL[ABLFLL],
CHG = AVAL - BLVAL
) %>%
ungroup()
results <- basic_table() %>%
split_cols_by("ARM") %>%
split_rows_by("AVISIT") %>%
summarize_change("CHG", variables = list(value = "AVAL", baseline_flag = "ABLFLL")) %>%
build_table(dta_test)
results
#> A B C
#> ———————————————————————————————————————————————————————————
#> V1
#> n 2 1 0
#> Mean (SD) 7.50 (2.12) 3.00 (<Missing>) <Missing>
#> Median 7.50 3.00 <Missing>
#> Min - Max 6.00 - 9.00 3.00 - 3.00 <Missing>
#> V2
#> n 2 1 0
#> Mean (SD) -1.00 (0.00) -1.00 (<Missing>) <Missing>
#> Median -1.00 -1.00 <Missing>
#> Min - Max -1.00 - -1.00 -1.00 - -1.00 <Missing>
#> V3
#> n 2 1 0
#> Mean (SD) -2.00 (0.00) -2.00 (<Missing>) <Missing>
#> Median -2.00 -2.00 <Missing>
#> Min - Max -2.00 - -2.00 -2.00 - -2.00 <Missing>