Skip to content

Instantly share code, notes, and snippets.

View kpagacz's full-sized avatar
🐍
snek

Konrad Pagacz kpagacz

🐍
snek
View GitHub Profile
@kpagacz
kpagacz / filter_panel_chunk_12.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 12
ADSL Filter: ARM = "Placebo" AND AGE >= 65
Child Datasets: Only events/medications for elderly placebo subjects
@kpagacz
kpagacz / filter_panel_chunk_11.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 11
ADAE (Child) Filter: AESEV = "SEVERE"
ADSL (Parent) Result: No change - still shows all subjects
ADCM (Sibling) Result: No change - still shows all medications
@kpagacz
kpagacz / filter_panel_chunk_10.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 10
ADSL (Parent) Filter: ARM = "Placebo"
ADAE (Child) Result: Only AEs for placebo subjects
ADCM (Child) Result: Only medications for placebo subjects
@kpagacz
kpagacz / filter_panel_chunk_9.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 9
# Demonstrate hierarchical filtering with parent-child relationships
hierarchical_demo <- teal::init(
data = coupled_demo_data,
modules = teal::modules(
# Parent dataset view
teal::modules(
label = "👤 Subject Level (Parent)",
tm_t_summary(
label = "Subject Summary",
dataname = "ADSL",
@kpagacz
kpagacz / filter_panel_chunk_8.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 8
# Create data with clear relationships to demonstrate coupling
coupled_demo_data <- teal_data()
coupled_demo_data <- within(coupled_demo_data, {
# ADSL - 20 subjects for clear demonstration
ADSL <- adsl[1:20, ]
# ADAE - Only adverse events for first 15 subjects
ADAE <- adae[adae$USUBJID %in% ADSL$USUBJID[1:15], ]
# ADCM - Only concomitant meds for first 10 subjects
@kpagacz
kpagacz / filter_panel_chunk_7.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 7
# Complex filter expressions for sophisticated population definitions
advanced_filters <- teal_slices(
# Complex expression filter
teal_slice(
dataname = "ADSL",
expr = "AGE >= 65 & BMIBL < 30",
title = "Elderly Non-Obese",
id = "elderly_normal_bmi"
),
@kpagacz
kpagacz / filter_panel_chunk_6.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 6
# Create application with initial filter state
initial_filters <- teal_slices(
# Population definition filters
teal_slice(
dataname = "ADSL",
varname = "ITTFL",
selected = "Y",
title = "Intent-to-Treat Population"
),
teal_slice(
@kpagacz
kpagacz / filter_panel_chunk_5.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 5
# Load and apply saved filter state
# saved_filters <- readRDS("clinical_analysis_filters.rds")
# Apply saved filters to a new application
restored_app <- teal::init(
data = demo_data,
modules = teal::modules(
tm_data_table(
label = "Filtered ADSL Data",
dataname = "ADSL"
@kpagacz
kpagacz / filter_panel_chunk_4.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 4
# Create and save filter states programmatically
library(teal.slice)
# Define a specific filter state
saved_filters <- teal_slices(
teal_slice(
dataname = "ADSL",
varname = "ARM",
selected = c("Placebo", "Xanomeline High Dose"),
title = "Treatment Groups"
@kpagacz
kpagacz / filter_panel_chunk_3.qmd
Created September 29, 2025 09:40
shinylive snippet from filter_panel.qmd chunk 3
# Application with save/restore capabilities
save_restore_demo <- teal::init(
data = demo_data,
modules = teal::modules(
tm_data_table(
label = "ADSL Data",
dataname = "ADSL"
),
tm_g_distribution(
label = "Age Distribution",