Skip to contents

Teal Module: Events by Grade

Usage

tm_t_events_by_grade(
  label,
  dataname,
  parentname = ifelse(inherits(arm_var, "data_extract_spec"),
    teal.transform::datanames_input(arm_var), "ADSL"),
  arm_var,
  hlt,
  llt,
  grade,
  grading_groups = list(`Any Grade (%)` = c("1", "2", "3", "4", "5"), `Grade 1-2 (%)` =
    c("1", "2"), `Grade 3-4 (%)` = c("3", "4"), `Grade 5 (%)` = "5"),
  col_by_grade = FALSE,
  prune_freq = 0,
  prune_diff = 0,
  add_total = TRUE,
  drop_arm_levels = 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 to ADSL.

arm_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for variable names that can be used as arm_var. It defines the grouping variable(s) in the results table. If there are two elements selected for arm_var, second variable will be nested under the first variable.

hlt

(choices_selected or data_extract_spec)
name of the variable with high level term for events.

llt

(choices_selected or data_extract_spec)
name of the variable with low level term for events.

grade

(character)
name of the severity level variable.

grading_groups

(character)
list of grading groups used when col_by_grade = TRUE.

col_by_grade

(flag)
whether to display the grading groups in nested columns.

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.

add_total

(logical)
whether to include column with total number of patients.

drop_arm_levels

(logical)
drop the unused arm_var levels. When TRUE, arm_var levels are set to those used in the dataname dataset. When FALSE, arm_var levels are set to those used in the parantname dataset.

pre_output

optional, (shiny.tag)
with text placed before the output to put the output into context. For example a title.

post_output

optional, (shiny.tag)
with text placed after the output to put the output into context. For example the shiny::helpText() elements are useful.

basic_table_args

optional, (basic_table_args)
object created by teal.widgets::basic_table_args() with settings for the module table. The argument is merged with option teal.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").

Examples

adsl <- tmc_ex_adsl
lbls_adae <- formatters::var_labels(tmc_ex_adae)
adae <- tmc_ex_adae %>%
  dplyr::mutate_if(is.character, as.factor) # be certain of having factors
formatters::var_labels(adae) <- lbls_adae

app <- init(
  data = cdisc_data(
    cdisc_dataset("ADSL", adsl),
    cdisc_dataset("ADAE", adae)
  ),
  modules = modules(
    tm_t_events_by_grade(
      label = "Adverse Events by Grade 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"
      ),
      grade = choices_selected(
        choices = variable_choices(adae, c("AETOXGR", "AESEV")),
        selected = "AETOXGR"
      )
    )
  )
)
#> [INFO] 2023-05-31 23:41:41.7964 pid:3043 token:[] teal.modules.clinical Initializing tm_t_events_by_grade
if (interactive()) {
  shinyApp(app$ui, app$server)
}