TLG Catalog - Dev
  • Dev
    • Stable
  1. Graphs
  2. Other
  3. IPPG01
  • Introduction

  • Tables
    • ADA
      • ADAT01
      • ADAT02
      • ADAT03
      • ADAT04A
      • ADAT04B
    • Adverse Events
      • AET01
      • AET01_AESI
      • AET02
      • AET02_SMQ
      • AET03
      • AET04
      • AET04_PI
      • AET05
      • AET05_ALL
      • AET06
      • AET06_SMQ
      • AET07
      • AET09
      • AET09_SMQ
      • AET10
    • Concomitant Medications
      • CMT01
      • CMT01A
      • CMT01B
      • CMT02_PT
    • Deaths
      • DTHT01
    • Demography
      • DMT01
    • Disclosures
      • DISCLOSUREST01
      • EUDRAT01
      • EUDRAT02
    • Disposition
      • DST01
      • PDT01
      • PDT02
    • ECG
      • EGT01
      • EGT02
      • EGT03
      • EGT04
      • EGT05_QTCAT
    • Efficacy
      • AOVT01
      • AOVT02
      • AOVT03
      • CFBT01
      • CMHT01
      • COXT01
      • COXT02
      • DORT01
      • LGRT02
      • MMRMT01
      • ONCT05
      • RATET01
      • RBMIT01
      • RSPT01
      • TTET01
    • Exposure
      • EXT01
    • Lab Results
      • LBT01
      • LBT02
      • LBT03
      • LBT04
      • LBT05
      • LBT06
      • LBT07
      • LBT08
      • LBT09
      • LBT10
      • LBT10_BL
      • LBT11
      • LBT11_BL
      • LBT12
      • LBT12_BL
      • LBT13
      • LBT14
      • LBT15
    • Medical History
      • MHT01
    • Pharmacokinetic
      • PKCT01
      • PKPT02
      • PKPT03
      • PKPT04
      • PKPT05
      • PKPT06
      • PKPT07
      • PKPT08
      • PKPT11
    • Risk Management Plan
      • RMPT01
      • RMPT03
      • RMPT04
      • RMPT05
      • RMPT06
    • Safety
      • ENTXX
    • Vital Signs
      • VST01
      • VST02
  • Listings
    • ADA
      • ADAL02
    • Adverse Events
      • AEL01
      • AEL01_NOLLT
      • AEL02
      • AEL02_ED
      • AEL03
      • AEL04
    • Concomitant Medications
      • CML01
      • CML02A_GL
      • CML02B_GL
    • Development Safety Update Report
      • DSUR4
    • Disposition
      • DSL01
      • DSL02
    • ECG
      • EGL01
    • Efficacy
      • ONCL01
    • Exposure
      • EXL01
    • Lab Results
      • LBL01
      • LBL01_RLS
      • LBL02A
      • LBL02A_RLS
      • LBL02B
    • Medical History
      • MHL01
    • Pharmacokinetic
      • ADAL01
      • PKCL01
      • PKCL02
      • PKPL01
      • PKPL02
      • PKPL04
    • Vital Signs
      • VSL01
  • Graphs
    • Efficacy
      • FSTG01
      • FSTG02
      • KMG01
      • MMRMG01
      • MMRMG02
    • Other
      • BRG01
      • BWG01
      • CIG01
      • IPPG01
      • LTG01
      • MNG01
    • Pharmacokinetic
      • PKCG01
      • PKCG02
      • PKCG03
      • PKPG01
      • PKPG02
      • PKPG03
      • PKPG04
      • PKPG06

  • Appendix
    • Reproducibility

  • Index

On this page

  • Output
  • teal App
  • Reproducibility
    • Timestamp
    • Session Info
    • .lock file
  • Edit this page
  • Report an issue
  1. Graphs
  2. Other
  3. IPPG01

IPPG01

Individual Patient Plot Over Time


For illustration purposes, we will subset the adlb dataset for safety population in treatment arm A and a specific lab parameter (ALT).

Output

  • Standard Plot
  • Plot with Patient Baselines as Reference
  • Data Setup
  • Preview
  • Try this using WebR

The user can select different plotting_choices depending on their preference. To demonstrate, separate plots are produced with a maximum of 3 observations each.

Code
plots <- g_ipp(
  df = adlb_f,
  xvar = "AVISIT",
  yvar = "AVAL",
  xlab = "Visit",
  ylab = "SGOT/ALT (U/L)",
  id_var = "Patient_ID",
  title = "Individual Patient Plots",
  subtitle = "Treatment Arm A",
  plotting_choices = "split_by_max_obs",
  max_obs_per_plot = 3
)
plots
[[1]]


[[2]]

WarningExperimental use!

WebR is a tool allowing you to run R code in the web browser. Modify the code below and click run to see the results. Alternatively, copy the code and click here to open WebR in a new tab.

  • Preview
  • Try this using WebR

Here, patients’ individual baseline values will be shown for reference. Note that users can provide their own custom theme to the function via the ggtheme argument.

Code
plots <- g_ipp(
  df = adlb_f,
  xvar = "AVISIT",
  yvar = "AVAL",
  xlab = "Visit",
  ylab = "SGOT/ALT (U/L)",
  id_var = "Patient_ID",
  title = "Individual Patient Plots",
  subtitle = "Treatment Arm A",
  add_baseline_hline = TRUE,
  yvar_baseline = "BASE",
  ggtheme = theme_minimal(),
  plotting_choices = "split_by_max_obs",
  max_obs_per_plot = 3
)
plots
[[1]]


[[2]]

WarningExperimental use!

WebR is a tool allowing you to run R code in the web browser. Modify the code below and click run to see the results. Alternatively, copy the code and click here to open WebR in a new tab.

Code
library(tern)
library(dplyr)
library(ggplot2)
library(nestcolor)

# use small sample size
adsl <- random.cdisc.data::cadsl %>% slice(1:15)
adlb <- random.cdisc.data::cadlb %>% filter(USUBJID %in% adsl$USUBJID)

# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
adlb <- df_explicit_na(adlb)

adlb_f <- adlb %>%
  filter(
    SAFFL == "Y",
    PARAMCD == "ALT",
    AVISIT != "SCREENING",
    ARMCD == "ARM A"
  ) %>%
  mutate(Patient_ID = sub(".*id-", "", USUBJID))

teal App

  • Preview
  • Try this using shinylive
Code
library(teal.modules.clinical)

## Data reproducible code
data <- teal_data()
data <- within(data, {
  library(dplyr)

  # use small sample size
  ADSL <- random.cdisc.data::cadsl %>% slice(1:15)
  ADLB <- random.cdisc.data::cadlb %>% filter(USUBJID %in% ADSL$USUBJID)

  # Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
  ADSL <- df_explicit_na(ADSL)
  ADLB <- df_explicit_na(ADLB) %>%
    filter(AVISIT != "SCREENING")
})
join_keys(data) <- default_cdisc_join_keys[c("ADSL", "ADLB")]

## Reusable Configuration For Modules
ADLB <- data[["ADLB"]]

## Setup App
app <- init(
  data = data,
  modules = modules(
    tm_g_ipp(
      label = "Individual Patient Plot",
      dataname = "ADLB",
      arm_var = choices_selected(
        value_choices(ADLB, c("ARMCD")),
        "ARM A"
      ),
      paramcd = choices_selected(
        value_choices(ADLB, "PARAMCD"),
        "ALT"
      ),
      aval_var = choices_selected(
        variable_choices(ADLB, c("AVAL")),
        "AVAL"
      ),
      avalu_var = choices_selected(
        variable_choices(ADLB, c("AVALU")),
        "AVALU",
        fixed = TRUE
      ),
      id_var = choices_selected(
        variable_choices(ADLB, c("USUBJID")),
        "USUBJID",
        fixed = TRUE
      ),
      visit_var = choices_selected(
        variable_choices(ADLB, c("AVISIT")),
        "AVISIT"
      ),
      baseline_var = choices_selected(
        variable_choices(ADLB, c("BASE")),
        "BASE",
        fixed = TRUE
      ),
      add_baseline_hline = FALSE,
      separate_by_obs = FALSE
    )
  )
)

shinyApp(app$ui, app$server)

WarningExperimental use!

shinylive allow you to modify to run shiny application entirely in the web browser. Modify the code below and click re-run the app to see the results. The performance is slighly worse and some of the features (e.g. downloading) might not work at all.

#| '!! shinylive warning !!': |
#|   shinylive does not work in self-contained HTML documents.
#|   Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 800
#| editorHeight: 200
#| components: [viewer, editor]
#| layout: vertical

# -- WEBR HELPERS --
options(webr_pkg_repos = c("r-universe" = "https://pharmaverse.r-universe.dev", getOption("webr_pkg_repos")))

# -- APP CODE --
library(teal.modules.clinical)

## Data reproducible code
data <- teal_data()
data <- within(data, {
  library(dplyr)

  # use small sample size
  ADSL <- random.cdisc.data::cadsl %>% slice(1:15)
  ADLB <- random.cdisc.data::cadlb %>% filter(USUBJID %in% ADSL$USUBJID)

  # Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
  ADSL <- df_explicit_na(ADSL)
  ADLB <- df_explicit_na(ADLB) %>%
    filter(AVISIT != "SCREENING")
})
join_keys(data) <- default_cdisc_join_keys[c("ADSL", "ADLB")]

## Reusable Configuration For Modules
ADLB <- data[["ADLB"]]

## Setup App
app <- init(
  data = data,
  modules = modules(
    tm_g_ipp(
      label = "Individual Patient Plot",
      dataname = "ADLB",
      arm_var = choices_selected(
        value_choices(ADLB, c("ARMCD")),
        "ARM A"
      ),
      paramcd = choices_selected(
        value_choices(ADLB, "PARAMCD"),
        "ALT"
      ),
      aval_var = choices_selected(
        variable_choices(ADLB, c("AVAL")),
        "AVAL"
      ),
      avalu_var = choices_selected(
        variable_choices(ADLB, c("AVALU")),
        "AVALU",
        fixed = TRUE
      ),
      id_var = choices_selected(
        variable_choices(ADLB, c("USUBJID")),
        "USUBJID",
        fixed = TRUE
      ),
      visit_var = choices_selected(
        variable_choices(ADLB, c("AVISIT")),
        "AVISIT"
      ),
      baseline_var = choices_selected(
        variable_choices(ADLB, c("BASE")),
        "BASE",
        fixed = TRUE
      ),
      add_baseline_hline = FALSE,
      separate_by_obs = FALSE
    )
  )
)

shinyApp(app$ui, app$server)

Reproducibility

Timestamp

[1] "2026-06-13 18:29:27 UTC"

Session Info

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.2 (2025-10-31)
 os       Ubuntu 24.04.4 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2026-06-13
 pandoc   3.9 @ /usr/bin/ (via rmarkdown)
 quarto   1.9.38 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package               * version     date (UTC) lib source
 backports               1.5.1       2026-04-03 [1] CRAN (R 4.5.2)
 brio                    1.1.5       2024-04-24 [1] CRAN (R 4.5.2)
 broom                   1.0.13      2026-05-14 [1] CRAN (R 4.5.2)
 bsicons                 0.1.2       2023-11-04 [1] CRAN (R 4.5.2)
 bslib                   0.11.0      2026-05-16 [1] CRAN (R 4.5.2)
 cachem                  1.1.0       2024-05-16 [1] CRAN (R 4.5.2)
 callr                   3.8.0       2026-06-05 [1] CRAN (R 4.5.2)
 checkmate               2.3.4       2026-02-03 [1] CRAN (R 4.5.2)
 chromote                0.5.1       2025-04-24 [1] CRAN (R 4.5.2)
 cli                     3.6.6       2026-04-09 [1] CRAN (R 4.5.2)
 codetools               0.2-20      2024-03-31 [2] CRAN (R 4.5.2)
 curl                    7.1.0       2026-04-22 [1] CRAN (R 4.5.2)
 dichromat               2.0-0.1     2022-05-02 [1] CRAN (R 4.5.2)
 digest                  0.6.39      2025-11-19 [1] CRAN (R 4.5.2)
 dplyr                 * 1.2.1       2026-04-03 [1] CRAN (R 4.5.2)
 evaluate                1.0.5       2025-08-27 [1] CRAN (R 4.5.2)
 farver                  2.1.2       2024-05-13 [1] CRAN (R 4.5.2)
 fastmap                 1.2.0       2024-05-15 [1] CRAN (R 4.5.2)
 fontawesome             0.5.3       2024-11-16 [1] CRAN (R 4.5.2)
 forcats                 1.0.1       2025-09-25 [1] CRAN (R 4.5.2)
 formatR                 1.14        2023-01-17 [1] CRAN (R 4.5.2)
 formatters            * 0.5.12.9003 2026-05-21 [1] https://p~
 fs                      2.1.0       2026-04-18 [1] CRAN (R 4.5.2)
 generics                0.1.4       2025-05-09 [1] CRAN (R 4.5.2)
 ggplot2               * 4.0.3       2026-04-22 [1] CRAN (R 4.5.2)
 glue                    1.8.1       2026-04-17 [1] CRAN (R 4.5.2)
 gtable                  0.3.6       2024-10-25 [1] CRAN (R 4.5.2)
 htmltools               0.5.9       2025-12-04 [1] CRAN (R 4.5.2)
 htmlwidgets             1.6.4       2023-12-06 [1] CRAN (R 4.5.2)
 httpuv                  1.6.17      2026-03-18 [1] CRAN (R 4.5.2)
 jquerylib               0.1.4       2021-04-26 [1] CRAN (R 4.5.2)
 jsonlite                2.0.0       2025-03-27 [1] CRAN (R 4.5.2)
 knitr                   1.51        2025-12-20 [1] CRAN (R 4.5.2)
 labeling                0.4.3       2023-08-29 [1] CRAN (R 4.5.2)
 later                   1.4.8       2026-03-05 [1] CRAN (R 4.5.2)
 lattice                 0.22-9      2026-02-09 [2] CRAN (R 4.5.2)
 lifecycle               1.0.5       2026-01-08 [1] CRAN (R 4.5.2)
 logger                  0.4.2       2026-05-10 [1] CRAN (R 4.5.2)
 magrittr              * 2.0.5       2026-04-04 [1] CRAN (R 4.5.2)
 Matrix                  1.7-5       2026-03-21 [1] CRAN (R 4.5.2)
 memoise                 2.0.1       2021-11-26 [1] CRAN (R 4.5.2)
 mime                    0.13        2025-03-17 [1] CRAN (R 4.5.2)
 nestcolor             * 0.1.3.9000  2025-01-21 [1] https://p~
 otel                    0.2.0       2025-08-29 [1] CRAN (R 4.5.2)
 pillar                  1.11.1      2025-09-17 [1] CRAN (R 4.5.2)
 pkgcache                2.2.5       2026-04-09 [1] CRAN (R 4.5.2)
 pkgconfig               2.0.3       2019-09-22 [1] CRAN (R 4.5.2)
 processx                3.9.0       2026-04-22 [1] CRAN (R 4.5.2)
 promises                1.5.0       2025-11-01 [1] CRAN (R 4.5.2)
 ps                      1.9.3       2026-04-20 [1] CRAN (R 4.5.2)
 purrr                   1.2.2       2026-04-10 [1] CRAN (R 4.5.2)
 R6                      2.6.1       2025-02-15 [1] CRAN (R 4.5.2)
 ragg                    1.5.2       2026-03-23 [1] CRAN (R 4.5.2)
 random.cdisc.data       0.3.16.9007 2025-11-13 [1] https://p~
 rbibutils               2.4.1       2026-01-21 [1] CRAN (R 4.5.2)
 RColorBrewer            1.1-3       2022-04-03 [1] CRAN (R 4.5.2)
 Rcpp                    1.1.1-1.1   2026-04-24 [1] CRAN (R 4.5.2)
 Rdpack                  2.6.6       2026-02-08 [1] CRAN (R 4.5.2)
 rlang                   1.2.0       2026-04-06 [1] CRAN (R 4.5.2)
 rmarkdown               2.31        2026-03-26 [1] CRAN (R 4.5.2)
 rtables               * 0.6.16.9001 2026-05-21 [1] https://p~
 S7                      0.2.2       2026-04-22 [1] CRAN (R 4.5.2)
 sass                    0.4.10      2025-04-11 [1] CRAN (R 4.5.2)
 scales                  1.4.0       2025-04-24 [1] CRAN (R 4.5.2)
 sessioninfo             1.2.4       2026-06-04 [1] CRAN (R 4.5.2)
 shiny                 * 1.13.0      2026-02-20 [1] CRAN (R 4.5.2)
 shinycssloaders         1.1.0       2024-07-30 [1] CRAN (R 4.5.2)
 shinyjs                 2.1.1       2026-01-15 [1] CRAN (R 4.5.2)
 shinyvalidate           0.1.3       2023-10-04 [1] CRAN (R 4.5.2)
 shinyWidgets            0.9.1       2026-03-09 [1] CRAN (R 4.5.2)
 stringi                 1.8.7       2025-03-27 [1] CRAN (R 4.5.2)
 stringr                 1.6.0       2025-11-04 [1] CRAN (R 4.5.2)
 survival                3.8-6       2026-01-16 [2] CRAN (R 4.5.2)
 systemfonts             1.3.2       2026-03-05 [1] CRAN (R 4.5.2)
 teal                  * 1.1.0.9033  2026-05-27 [1] https://p~
 teal.code             * 0.7.1.9003  2026-04-23 [1] https://p~
 teal.data             * 0.8.0.9002  2025-12-15 [1] https://p~
 teal.logger             0.4.1.9004  2026-02-10 [1] https://p~
 teal.modules.clinical * 0.12.0.9013 2026-04-08 [1] https://p~
 teal.reporter           0.6.1.9000  2026-02-20 [1] https://p~
 teal.slice            * 0.8.0       2026-06-04 [1] CRAN (R 4.5.2)
 teal.transform        * 0.7.1.9003  2026-02-17 [1] https://p~
 teal.widgets            0.6.0.9001  2026-03-11 [1] https://p~
 tern                  * 0.9.10.9012 2026-06-11 [1] https://p~
 testthat                3.3.2       2026-01-11 [1] CRAN (R 4.5.2)
 textshaping             1.0.5       2026-03-06 [1] CRAN (R 4.5.2)
 tibble                  3.3.1       2026-01-11 [1] CRAN (R 4.5.2)
 tidyr                   1.3.2       2025-12-19 [1] CRAN (R 4.5.2)
 tidyselect              1.2.1       2024-03-11 [1] CRAN (R 4.5.2)
 vctrs                   0.7.3       2026-04-11 [1] CRAN (R 4.5.2)
 webshot                 0.5.5       2023-06-26 [1] CRAN (R 4.5.2)
 webshot2                0.1.2       2025-04-23 [1] CRAN (R 4.5.2)
 websocket               1.4.4       2025-04-10 [1] CRAN (R 4.5.2)
 withr                   3.0.2       2024-10-28 [1] CRAN (R 4.5.2)
 xfun                    0.58        2026-06-01 [1] CRAN (R 4.5.2)
 xtable                  1.8-8       2026-02-22 [1] CRAN (R 4.5.2)
 yaml                    2.3.12      2025-12-10 [1] CRAN (R 4.5.2)

 [1] /usr/local/lib/R/site-library
 [2] /usr/local/lib/R/library
 [3] /github/home/R/x86_64-pc-linux-gnu-library/4.5
 * ── Packages attached to the search path.

──────────────────────────────────────────────────────────────────────────────

.lock file

Download the .lock file and use renv::restore() on it to recreate environment used to generate this website.

Download

CIG01
LTG01
Source Code
---
title: IPPG01
subtitle: Individual Patient Plot Over Time
---

------------------------------------------------------------------------

{{< include ../../_utils/envir_hook.qmd >}}

For illustration purposes, we will subset the `adlb` dataset for safety population in treatment arm A and a specific lab parameter (`ALT`).

```{r setup, echo = FALSE, warning = FALSE, message = FALSE}
library(tern)
library(dplyr)
library(ggplot2)
library(nestcolor)

# use small sample size
adsl <- random.cdisc.data::cadsl %>% slice(1:15)
adlb <- random.cdisc.data::cadlb %>% filter(USUBJID %in% adsl$USUBJID)

# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
adlb <- df_explicit_na(adlb)

adlb_f <- adlb %>%
  filter(
    SAFFL == "Y",
    PARAMCD == "ALT",
    AVISIT != "SCREENING",
    ARMCD == "ARM A"
  ) %>%
  mutate(Patient_ID = sub(".*id-", "", USUBJID))
```

```{r include = FALSE}
webr_code_labels <- c("setup")
```

{{< include ../../_utils/webr_no_include.qmd >}}

## Output

::::: panel-tabset
## Standard Plot

::: {.panel-tabset .nav-justified group="webr"}
## {{< fa regular file-lines sm fw >}} Preview

The user can select different `plotting_choices` depending on their preference. To demonstrate, separate plots are produced with a maximum of 3 observations each.

```{r plots1, test = list(plots_v1 = "plots")}
plots <- g_ipp(
  df = adlb_f,
  xvar = "AVISIT",
  yvar = "AVAL",
  xlab = "Visit",
  ylab = "SGOT/ALT (U/L)",
  id_var = "Patient_ID",
  title = "Individual Patient Plots",
  subtitle = "Treatment Arm A",
  plotting_choices = "split_by_max_obs",
  max_obs_per_plot = 3
)
plots
```

```{r include = FALSE}
webr_code_labels <- c("plots1")
```

{{< include ../../_utils/webr.qmd >}}
:::

## Plot with Patient Baselines as Reference

::: {.panel-tabset .nav-justified group="webr"}
## {{< fa regular file-lines sm fw >}} Preview

Here, patients' individual baseline values will be shown for reference. Note that users can provide their own custom theme to the function via the `ggtheme` argument.

```{r plots2, test = list(plots_v2 = "plots")}
plots <- g_ipp(
  df = adlb_f,
  xvar = "AVISIT",
  yvar = "AVAL",
  xlab = "Visit",
  ylab = "SGOT/ALT (U/L)",
  id_var = "Patient_ID",
  title = "Individual Patient Plots",
  subtitle = "Treatment Arm A",
  add_baseline_hline = TRUE,
  yvar_baseline = "BASE",
  ggtheme = theme_minimal(),
  plotting_choices = "split_by_max_obs",
  max_obs_per_plot = 3
)
plots
```

```{r include = FALSE}
webr_code_labels <- c("plots2")
```

{{< include ../../_utils/webr.qmd >}}
:::

## Data Setup

```{r setup}
#| code-fold: show
```
:::::

{{< include ../../_utils/save_results.qmd >}}

## `teal` App

::: {.panel-tabset .nav-justified}
## {{< fa regular file-lines fa-sm fa-fw >}} Preview

```{r teal, opts.label = c("skip_if_testing", "app")}
library(teal.modules.clinical)

## Data reproducible code
data <- teal_data()
data <- within(data, {
  library(dplyr)

  # use small sample size
  ADSL <- random.cdisc.data::cadsl %>% slice(1:15)
  ADLB <- random.cdisc.data::cadlb %>% filter(USUBJID %in% ADSL$USUBJID)

  # Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
  ADSL <- df_explicit_na(ADSL)
  ADLB <- df_explicit_na(ADLB) %>%
    filter(AVISIT != "SCREENING")
})
join_keys(data) <- default_cdisc_join_keys[c("ADSL", "ADLB")]

## Reusable Configuration For Modules
ADLB <- data[["ADLB"]]

## Setup App
app <- init(
  data = data,
  modules = modules(
    tm_g_ipp(
      label = "Individual Patient Plot",
      dataname = "ADLB",
      arm_var = choices_selected(
        value_choices(ADLB, c("ARMCD")),
        "ARM A"
      ),
      paramcd = choices_selected(
        value_choices(ADLB, "PARAMCD"),
        "ALT"
      ),
      aval_var = choices_selected(
        variable_choices(ADLB, c("AVAL")),
        "AVAL"
      ),
      avalu_var = choices_selected(
        variable_choices(ADLB, c("AVALU")),
        "AVALU",
        fixed = TRUE
      ),
      id_var = choices_selected(
        variable_choices(ADLB, c("USUBJID")),
        "USUBJID",
        fixed = TRUE
      ),
      visit_var = choices_selected(
        variable_choices(ADLB, c("AVISIT")),
        "AVISIT"
      ),
      baseline_var = choices_selected(
        variable_choices(ADLB, c("BASE")),
        "BASE",
        fixed = TRUE
      ),
      add_baseline_hline = FALSE,
      separate_by_obs = FALSE
    )
  )
)

shinyApp(app$ui, app$server)
```

{{< include ../../_utils/shinylive.qmd >}}
:::

{{< include ../../repro.qmd >}}

Made with ❤️ by the NEST Team

  • Edit this page
  • Report an issue
Cookie Preferences