The analyze function surv_time()
creates a layout element to analyze survival time by calculating survival time
median, median confidence interval, quantiles, and range (for all, censored, or event patients). The primary
analysis variable vars
is the time variable and the secondary analysis variable is_event
indicates whether or
not an event has occurred.
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
)TRUE
if event,FALSE
if 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 therange
statistic is included.- na_str
(
string
)
string used to replace allNA
or 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 samevars
are 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
character
orlist
)
formats for the statistics. See Details inanalyze_vars
for 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.stats
and 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 byrtables
when 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 anrtable
layout 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 asafun
insurv_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