Teal Module: Summarize Variables by Row Groups Module
Source:R/tm_t_summary_by.R
tm_t_summary_by.RdTeal Module: Summarize Variables by Row Groups Module
Usage
tm_t_summary_by(
label,
dataname,
parentname = ifelse(inherits(arm_var, "data_extract_spec"),
teal.transform::datanames_input(arm_var), "ADSL"),
arm_var,
by_vars,
summarize_vars,
id_var = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
subset = "USUBJID"), selected = "USUBJID", fixed = TRUE),
paramcd = NULL,
add_total = TRUE,
parallel_vars = FALSE,
row_groups = FALSE,
useNA = c("ifany", "no"),
na_level = "<Missing>",
numeric_stats = c("n", "mean_sd", "median", "range"),
denominator = teal.transform::choices_selected(c("n", "N", "omit"), "omit", fixed =
TRUE),
drop_arm_levels = TRUE,
drop_zero_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 toADSL.- arm_var
(
choices_selectedordata_extract_spec)
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.- by_vars
(
choices_selectedordata_extract_spec)
object with all available choices and preselected option for variable names used to split the summary by rows.- summarize_vars
(
choices_selectedordata_extract_spec)
names of the variables that should be summarized.- id_var
(
choices_selectedordata_extract_spec)
object specifying the variable name for subject id.- paramcd
(
choices_selectedordata_extract_spec)
variable value designating the studied parameter.- add_total
(
logical)
whether to include column with total number of patients.- parallel_vars
(
logical) used to displaysummarize_varsas parallel columns (FALSEon default). Can be used only if all chosen analysis variables are numeric.- row_groups
(
logical) used to displaysummarize_varsas row groups (FALSEon default).- useNA
(
character)
whether missing data (NA) should be displayed as a level.- na_level
(
string)
used to replace allNAor empty values in character or factor variables in the data.- numeric_stats
(
character)
selected statistics for numeric summarize variables to be displayed. Possible values aren,mean_sd,mean_ci,median,median_ci,range,geom_mean. By default,n,mean_sd,median,rangeare selected.- denominator
(
character)
chooses how percentages are calculated. With optionN, the reference population from the column total is used as the denominator. With optionn, the number of non-missing records in this row and column intersection is used as the denominator. Ifomitis chosen, then the percentage is omitted.- drop_arm_levels
(
logical)
drop the unusedarm_varlevels. WhenTRUE,arm_varlevels are set to those used in thedatanamedataset. WhenFALSE,arm_varlevels are set to those used in theparentnamedataset. Ifdatanamedataset andparentnamedataset are the same (i.e. ADSL), thendrop_arm_levelswill always be TRUE regardless of the user choice whentm_t_summary_byis called.- drop_zero_levels
(
logical) used to remove rows with zero counts from the result table.- 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 theshiny::helpText()elements are useful.- basic_table_args
-
optional, (
basic_table_args)
object created byteal.widgets::basic_table_args()with settings for the module table. The argument is merged with optionteal.basic_table_argsand 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
# Preparation of the test case.
library(scda)
synthetic_cdisc_data_latest <- synthetic_cdisc_data("latest")
adsl <- synthetic_cdisc_data_latest$adsl
adlb <- synthetic_cdisc_data_latest$adlb
app <- init(
data = cdisc_data(
cdisc_dataset("ADSL", adsl),
cdisc_dataset("ADLB", adlb),
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADSL <- synthetic_cdisc_data_latest$adsl
ADLB <- synthetic_cdisc_data_latest$adlb"
),
modules = modules(
tm_t_summary_by(
label = "Summary by Row Groups Table",
dataname = "ADLB",
arm_var = choices_selected(
choices = variable_choices(adsl, c("ARM", "ARMCD")),
selected = "ARM"
),
add_total = TRUE,
by_vars = choices_selected(
choices = variable_choices(adlb, c("PARAM", "AVISIT")),
selected = c("AVISIT")
),
summarize_vars = choices_selected(
choices = variable_choices(adlb, c("AVAL", "CHG")),
selected = c("AVAL")
),
useNA = "ifany",
paramcd = choices_selected(
choices = value_choices(adlb, "PARAMCD", "PARAM"),
selected = "ALT"
)
)
)
)
#> [INFO] 2022-10-14 09:11:24.6863 pid:3139 token:[] teal.modules.clinical Initializing tm_t_summary_by
if (FALSE) {
shinyApp(app$ui, app$server)
}