Summarize median survival time and CIs, percentiles of survival times, survival time range of censored/event patients.
Usage
surv_time(
lyt,
vars,
is_event,
control = control_surv_time(),
ref_fn_censor = TRUE,
na_str = default_na_str(),
nested = TRUE,
...,
var_labels = "Time to Event",
show_labels = "visible",
table_names = vars,
.stats = c("median", "median_ci", "quantiles", "range"),
.formats = NULL,
.labels = NULL,
.indent_mods = c(median_ci = 1L)
)
s_surv_time(df, .var, is_event, control = control_surv_time())
a_surv_time(
df,
labelstr = "",
.var = NULL,
.df_row = NULL,
is_event,
control = control_surv_time(),
ref_fn_censor = TRUE,
.stats = NULL,
.formats = NULL,
.labels = NULL,
.indent_mods = NULL,
na_str = default_na_str()
)Arguments
- lyt
(
PreDataTableLayouts)
layout that analyses will be added to.- vars
(
character)
variable names for the primary analysis variable to be iterated over.- is_event
(
flag)TRUEif event,FALSEif time to event is censored.- control
-
(
list)
parameters for comparison details, specified by using the helper functioncontrol_surv_time(). Some possible parameter options are:conf_level(proportion)
confidence level of the interval for survival time.conf_type(string)
confidence interval type. Options are "plain" (default), "log", or "log-log", see more insurvival::survfit(). Note option "none" is not supported.quantiles(numeric)
vector of length two to specify the quantiles of survival time.
- ref_fn_censor
(
flag)
whether referential footnotes indicating censored observations should be printed when therangestatistic is included.- 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.
- var_labels
(
character)
variable labels.- show_labels
(
string)
label visibility: one of "default", "visible" and "hidden".- 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("surv_time")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. Each element of the vector should be a name-value pair with name corresponding to a statistic specified in.statsand value the indentation for that statistic's row label.- df
(
data.frame)
data set containing all analysis variables.- .var
(
string)
single variable name that is passed byrtableswhen requested by a statistics function.- labelstr
(
string)
label of the level of the parent split currently being summarized (must be present as second argument in Content Row Functions). Seertables::summarize_row_groups()for more information.- .df_row
(
data.frame)
data frame across all of the columns for the given row split.
Value
surv_time()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_surv_time()to the table layout.
-
s_surv_time()returns the statistics:median: Median survival time.median_ci: Confidence interval for median time.quantiles: Survival time for two specified quantiles.range_censor: Survival time range for censored observations.range_event: Survival time range for observations with events.range: Survival time range for all observations.
a_surv_time()returns the corresponding list with formattedrtables::CellValue().
Functions
surv_time(): Layout-creating function which can take statistics function arguments and additional format arguments. This function is a wrapper forrtables::analyze().s_surv_time(): Statistics function which analyzes survival times.a_surv_time(): Formatted analysis function which is used asafuninsurv_time().
Examples
library(dplyr)
adtte_f <- tern_ex_adtte %>%
filter(PARAMCD == "OS") %>%
mutate(
AVAL = day2month(AVAL),
is_event = CNSR == 0
)
df <- adtte_f %>% filter(ARMCD == "ARM A")
basic_table() %>%
split_cols_by(var = "ARMCD") %>%
add_colcounts() %>%
surv_time(
vars = "AVAL",
var_labels = "Survival Time (Months)",
is_event = "is_event",
control = control_surv_time(conf_level = 0.9, conf_type = "log-log")
) %>%
build_table(df = adtte_f)
#> ARM A ARM B ARM C
#> (N=69) (N=73) (N=58)
#> ———————————————————————————————————————————————————————————————————
#> Survival Time (Months)
#> Median 32.0 23.9 20.8
#> 90% CI (22.6, 46.5) (18.3, 29.2) (12.9, 25.9)
#> 25% and 75%-ile 17.4, 65.3 9.8, 42.0 7.3, 37.1
#> Range 0.3 to 155.5 0.1 to 154.1 0.6 to 80.7
a_surv_time(
df,
.df_row = df,
.var = "AVAL",
is_event = "is_event"
)
#> RowsVerticalSection (in_rows) object print method:
#> ----------------------------
#> row_name formatted_cell indent_mod row_label
#> 1 Median 32.0 0 Median
#> 2 95% CI (22.5, 49.3) 0 95% CI
#> 3 25% and 75%-ile 17.4, 65.3 0 25% and 75%-ile
#> 4 Range (censored) 0.8 to 63.5 0 Range (censored)
#> 5 Range (event) 0.3 to 155.5 0 Range (event)
#> 6 Range 0.3 to 155.5 0 Range
