This module produces a table of events by term.
Usage
tm_t_events(
label,
dataname,
parentname = ifelse(inherits(arm_var, "data_extract_spec"),
teal.transform::datanames_input(arm_var), "ADSL"),
arm_var,
hlt,
llt,
add_total = TRUE,
total_label = default_total_label(),
na_level = default_na_str(),
event_type = "event",
sort_criteria = c("freq_desc", "alpha"),
sort_freq_col = total_label,
prune_freq = 0,
prune_diff = 0,
drop_arm_levels = TRUE,
incl_overall_sum = TRUE,
pre_output = NULL,
post_output = NULL,
basic_table_args = teal.widgets::basic_table_args()
)
Arguments
- label
(
character
)
menu item label of the module in the teal app.- dataname
(
character
)
analysis data used in teal module.- parentname
(
character
)
parent analysis data used in teal module, usually this refers toADSL
.- arm_var
(
teal.transform::choices_selected()
)
object with all available choices and preselected option for variable names that can be used asarm_var
. It defines the grouping variable(s) in the results table. If there are two elements selected forarm_var
, second variable will be nested under the first variable.- hlt
(
teal.transform::choices_selected()
)
name of the variable with high level term for events.- llt
(
teal.transform::choices_selected()
)
name of the variable with low level term for events.- add_total
(
logical
)
whether to include column with total number of patients.- total_label
(
string
)
string to display as total column/row label if column/row is enabled (seeadd_total
). Defaults to"All Patients"
. To set a new defaulttotal_label
to apply in all modules, runset_default_total_label("new_default")
.- na_level
(
string
)
used to replace allNA
or empty values in character or factor variables in the data. Defaults to"<Missing>"
. To set a defaultna_level
to apply in all modules, runset_default_na_str("new_default")
.- event_type
(
character
)
type of event that is summarized (e.g. adverse event, treatment). Default is"event"
.- sort_criteria
(
character
)
how to sort the final table. Default optionfreq_desc
sorts on columnsort_freq_col
by decreasing number of patients with event. Alternative optionalpha
sorts events alphabetically.- sort_freq_col
(
character
)
column to sort by frequency on ifsort_criteria
is set tofreq_desc
.- prune_freq
(
number
)
threshold to use for trimming table using event incidence rate in any column.- prune_diff
(
number
)
threshold to use for trimming table using as criteria difference in rates between any two columns.- drop_arm_levels
(
logical
)
whether to drop unused levels ofarm_var
. IfTRUE
,arm_var
levels are set to those used in thedataname
dataset. IfFALSE
,arm_var
levels are set to those used in theparentname
dataset. Ifdataname
andparentname
are the same, thendrop_arm_levels
is set toTRUE
and user input for this parameter is ignored.- incl_overall_sum
(
flag
)
whether two rows which summarize the overall number of adverse events should be included at the top of the table.- pre_output
(
shiny.tag
) optional,
with text placed before the output to put the output into context. For example a title.- post_output
(
shiny.tag
) optional,
with text placed after the output to put the output into context. For example theshiny::helpText()
elements are useful.- basic_table_args
(
basic_table_args
) optional
object created byteal.widgets::basic_table_args()
with settings for the module table. The argument is merged with optionteal.basic_table_args
and with default module arguments (hard coded in the module body). For more details, see the vignette:vignette("custom-basic-table-arguments", package = "teal.widgets")
.
See also
The TLG Catalog where additional example apps implementing this module can be found.
Examples
data <- teal_data()
data <- within(data, {
ADSL <- tmc_ex_adsl
ADAE <- tmc_ex_adae
})
join_keys(data) <- default_cdisc_join_keys[names(data)]
ADSL <- data[["ADSL"]]
ADAE <- data[["ADAE"]]
app <- init(
data = data,
modules = modules(
tm_t_events(
label = "Adverse Event Table",
dataname = "ADAE",
arm_var = choices_selected(c("ARM", "ARMCD"), "ARM"),
llt = choices_selected(
choices = variable_choices(ADAE, c("AETERM", "AEDECOD")),
selected = c("AEDECOD")
),
hlt = choices_selected(
choices = variable_choices(ADAE, c("AEBODSYS", "AESOC")),
selected = "AEBODSYS"
),
add_total = TRUE,
event_type = "adverse event"
)
)
)
#> Initializing tm_t_events
#> Initializing reporter_previewer_module
if (interactive()) {
shinyApp(app$ui, app$server)
}