
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>