Skip to contents

Teal Module: ANCOVA Teal Module

Usage

tm_t_ancova(
  label,
  dataname,
  parentname = ifelse(inherits(arm_var, "data_extract_spec"),
    teal.transform::datanames_input(arm_var), "ADSL"),
  arm_var,
  arm_ref_comp = NULL,
  aval_var,
  cov_var,
  include_interact = FALSE,
  interact_var = NULL,
  interact_y = FALSE,
  avisit,
  paramcd,
  conf_level = teal.transform::choices_selected(c(0.95, 0.9, 0.8), 0.95, keep_order =
    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.

arm_ref_comp

optional, (list)
If specified it must be a named list with each element corresponding to an arm variable in ADSL and the element must be another list (possibly with delayed teal.transform::variable_choices() or delayed teal.transform::value_choices() with the elements named ref and comp that the defined the default reference and comparison arms when the arm variable is changed.

aval_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for the analysis variable.

cov_var

(choices_selected or data_extract_spec)
object with all available choices and preselected option for the covariates variables.

include_interact

(logical)
whether an interaction term should be included in the model.

interact_var

(character)
name of the variable that should have interactions with arm. If the interaction is not needed, the default option is NULL.

interact_y

(character)
a selected item from the interact_var column which will be used to select the specific ANCOVA results when interact_var is discrete. If the interaction is not needed, the default option is FALSE.

avisit

(choices_selected or data_extract_spec)
value of analysis visit AVISIT of interest.

paramcd

(choices_selected or data_extract_spec)
variable value designating the studied parameter.

conf_level

(choices_selected)
object with all available choices and preselected option for the confidence level, each within range of (0, 1).

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").

Details

This module produces an analysis of variance summary table that is similar to AOVT01 when multiple endpoints are selected. When a single endpoint is selected, both unadjusted and adjusted comparison would be provided. This modules expects that the analysis data has the following variables:

AVISIT variable used to filter for analysis visits.
PARAMCD variable used to filter for endpoints, after filtering for paramcd and avisit, one observation per patient is expected for the analysis to be meaningful.

Examples

adsl <- tmc_ex_adsl
adqs <- tmc_ex_adqs

arm_ref_comp <- list(
  ARM = list(
    ref = "B: Placebo",
    comp = c("A: Drug X", "C: Combination")
  ),
  ACTARMCD = list(
    ref = "ARM B",
    comp = c("ARM A", "ARM C")
  )
)

app <- init(
  data = cdisc_data(
    cdisc_dataset("ADSL", adsl),
    cdisc_dataset("ADQS", adqs)
  ),
  modules = modules(
    tm_t_ancova(
      label = "ANCOVA Table",
      dataname = "ADQS",
      avisit = choices_selected(
        choices = value_choices(adqs, "AVISIT"),
        selected = "WEEK 1 DAY 8"
      ),
      arm_var = choices_selected(
        choices = variable_choices(adsl, c("ARM", "ACTARMCD", "ARMCD")),
        selected = "ARMCD"
      ),
      arm_ref_comp = arm_ref_comp,
      aval_var = choices_selected(
        choices = variable_choices(adqs, c("CHG", "AVAL")),
        selected = "CHG"
      ),
      cov_var = choices_selected(
        choices = variable_choices(adqs, c("BASE", "STRATA1", "SEX")),
        selected = "STRATA1"
      ),
      paramcd = choices_selected(
        choices = value_choices(adqs, "PARAMCD", "PARAM"),
        selected = "FKSI-FWB"
      ),
      interact_var = choices_selected(
        choices = variable_choices(adqs, c("BASE", "STRATA1", "SEX")),
        selected = "STRATA1"
      )
    )
  )
)
#> [INFO] 2023-05-31 23:41:37.8020 pid:3043 token:[] teal.modules.clinical Initializing tm_t_ancova
if (interactive()) {
  shinyApp(app$ui, app$server)
}