# ---- Robust package setup ---- options(repos = c(CRAN = "https://cran.rstudio.com")) required_packages <- c( "teal", "teal.widgets", "shiny", "DT", "teal.modules.clinical" ) installed_packages <- rownames(installed.packages()) missing_packages <- setdiff(required_packages, installed_packages) if (length(missing_packages) > 0) { install.packages( missing_packages, type = "binary", dependencies = TRUE ) } library(teal) library(teal.widgets) library(shiny) library(DT) library(teal.modules.clinical) data <- teal_data( ADSL = rADSL ) # Create join keys object join_keys_obj <- join_keys( join_key("ADSL", keys = c("USUBJID")) ) # Assign join keys join_keys(data) <- join_keys_obj # Define the Demographic Table Module demo_table_module <- function() { tm_t_summary( label = "Demographic Table", dataname = "ADSL", arm_var = choices_selected( choices = choices_labeled( choices = "ARM", labels = col_labels(rADSL, fill = FALSE)["ARM"] ), selected = "ARM" ), summarize_vars = choices_selected( choices = variable_choices("ADSL"), selected = c("SEX", "AGE", "RACE") ) ) } app <- init( data = data, modules = modules(demo_table_module())) %>% modify_title("Basic Teal Demo App") %>% modify_header("My first teal app") %>% modify_footer("Powered by teal + shiny") shinyApp(app$ui, app$server)