TLG Catalog - Dev
  • Dev
    • Stable
  1. Tables
  2. ADA
  3. ADAT01
  • 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
  • Reproducibility
    • Timestamp
    • Session Info
    • .lock file
  • Edit this page
  • Report an issue
  1. Tables
  2. ADA
  3. ADAT01

ADAT01

Baseline Prevalence and Incidence of Treatment Emergent ADA


Output

  • Standard Table
  • Data Setup
  • Preview
  • Try this using WebR
Code
# Layout for Baseline Prevalence of NAbs
lyt_bl <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by(
    "ACTARM",
    split_fun = custom_column_split_fun
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "ADABLPFL",
    .stats = "count",
    var_labels = "Baseline Prevalence of ADAs",
    show_labels = "visible",
    table_names = "t1"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "PADABLPFL",
    table_names = "t2",
    .indent_mods = 1L,
    var_labels = "a",
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "NADABLPFL",
    .stats = "count",
    show_labels = "hidden",
    .indent_mods = 1L,
    table_names = "t3"
  )

# Layout for incidence of NAbs
lyt_pb <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by(
    "ACTARM",
    split_fun = custom_column_split_fun
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "ADPBLPFL",
    .stats = "count",
    var_labels = "Incidence of Treatment Emergent ADAs",
    show_labels = "visible",
    table_names = "tb1"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "PTEFL",
    table_names = "tb2",
    .indent_mods = 1L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = c("TIFL", "TEFL"),
    .stats = "count",
    table_names = "tb3",
    .indent_mods = 2L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "NTEFL",
    table_names = "tb4",
    .indent_mods = 1L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "TUFL",
    .stats = "count",
    table_names = "tb5",
    .indent_mods = 2L,
    show_labels = "hidden"
  )

result_1 <- build_table(lyt_bl, df = adab_b, alt_counts_df = adsl)
result_2 <- build_table(lyt_pb, df = adab_pb, alt_counts_df = adsl)

# Combine tables.
result_1@col_info <- result_2@col_info
result <- rbind(result_1, result_2)

main_title(result) <- paste(
  "Baseline Prevalence and Incidence of Treatment Emergent ADA"
)

main_footer(result) <- "ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies) Baseline evaluable patient = a patient with an ADA assay result from a baseline sample(s)
  Post-baseline evaluable patient = a patient with an ADA assay result from at least one post-baseline sample Number of patients positive for Treatment Emergent
  ADA = the number (and percentage) of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
  Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
  Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
  Number of patients negative for Treatment Emergent ADA = number of post-baseline evaluable patients with negative or missing baseline ADA result(s) and all negative post-baseline results, or a patient who is treatment unaffected.
  Treatment unaffected = A post-baseline evaluable patient with a positive ADA result at baseline and (a) where all post-baseline titer results are less than 0.60 t.u. greater than the baseline titer result, OR (b) where all post-baseline results are negative or missing.
  For any positive sample with titer result less than the minimum reportable titer or any positive sample where a titer cannot be obtained, titer value is imputed as equal to the minimum reportable titer."

result
Baseline Prevalence and Incidence of Treatment Emergent ADA

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
                                                 A: Drug X    C: Combination   All Drug X    B: Placebo   All Patients
                                                  (N=134)        (N=132)         (N=266)      (N=134)       (N=400)   
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
Baseline Prevalence of ADAs                                                                                           
  Baseline evaluable patients                       134            132             266           0            266     
  Patient with a positive sample at baseline     63 (47.0%)     64 (48.5%)     127 (47.7%)       0        127 (47.7%) 
  Patient with no positive samples at baseline       71             68             139           0            139     
Incidence of Treatment Emergent ADAs                                                                                  
  Post-baseline evaluable patients                  134            132             266           0            266     
  Patient positive for Treatment Emergent ADA        0              0               0            0             0      
    Treatment-induced ADA                            0              0               0            0             0      
    Treatment-enhanced ADA                           0              0               0            0             0      
  Patient negative for Treatment Emergent ADA        0              0               0            0             0      
    Treatment unaffected                             0              0               0            0             0      
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies) Baseline evaluable patient = a patient with an ADA assay result from a baseline sample(s)
  Post-baseline evaluable patient = a patient with an ADA assay result from at least one post-baseline sample Number of patients positive for Treatment Emergent
  ADA = the number (and percentage) of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
  Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
  Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
  Number of patients negative for Treatment Emergent ADA = number of post-baseline evaluable patients with negative or missing baseline ADA result(s) and all negative post-baseline results, or a patient who is treatment unaffected.
  Treatment unaffected = A post-baseline evaluable patient with a positive ADA result at baseline and (a) where all post-baseline titer results are less than 0.60 t.u. greater than the baseline titer result, OR (b) where all post-baseline results are negative or missing.
  For any positive sample with titer result less than the minimum reportable titer or any positive sample where a titer cannot be obtained, titer value is imputed as equal to the minimum reportable titer.
Experimental 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(tibble)

adsl <- random.cdisc.data::cadsl
adab <- random.cdisc.data::cadab

# Order needed for the columns is c(1, 3, 4, 2, 5)
reorder_facets <- function(splret, spl, fulldf, ...) {
  ord <- c(1, 3, 4, 2, 5)
  make_split_result(
    splret$values[ord],
    splret$datasplit[ord],
    splret$labels[ord]
  )
}

# Create a custom split function for adding the new columns (facets) and sorting them
custom_column_split_fun <- make_split_fun(
  post = list(
    add_combo_facet("all_X",
      label = "All Drug X",
      levels = c("A: Drug X", "C: Combination")
    ),
    add_combo_facet("all_pt",
      label = "All Patients",
      levels = c("A: Drug X", "B: Placebo", "C: Combination")
    ),
    reorder_facets
  )
)


# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
adsl <- df_explicit_na(adsl)
adab <- adab %>%
  filter(PARCAT1 == "A: Drug X Antibody") %>%
  select(-ARRLT, -NRRLT)

# Baseline Pts
adab_b <- df_explicit_na(adab) %>%
  filter(
    ABLFL == "Y",
    ADABLPFL == "Y",
    PARAM %in% c("ADA interpreted per sample result")
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU) %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  mutate_at(
    c("ADA interpreted per sample result"),
    as.logical
  ) %>%
  mutate(
    ADABLPFL = ADABLPFL == "Y",
    PADABLPFL = `ADA interpreted per sample result` == "TRUE",
    NADABLPFL = `ADA interpreted per sample result` == "FALSE"
  ) %>%
  var_relabel(
    ADABLPFL = "Baseline evaluable patients",
    PADABLPFL = "Patient with a positive sample at baseline",
    NADABLPFL = "Patient with no positive samples at baseline"
  )

# Post Baseline Treatment Enhanced NAb positive Pts
adab_pb <- df_explicit_na(adab) %>%
  filter(
    ABLFL != "Y",
    ADPBLPFL == "Y",
    PARAM %in% c(
      "ADA interpreted per sample result",
      "Treatment Emergent - Positive",
      "Treatment induced ADA",
      "Treatment enhanced ADA",
      "Treatment Emergent - Negative",
      "Treatment unaffected"
    )
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU) %>%
  unique() %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  mutate(
    across(
      any_of(c(
        "ADA interpreted per sample result", "Treatment Emergent - Positive",
        "Treatment induced ADA", "Treatment enhanced ADA",
        "Treatment Emergent - Negative", "Treatment unaffected"
      )),
      as.logical
    )
  ) %>%
  mutate(
    ADPBLPFL = ADPBLPFL == "Y",
    PTEFL = if (exists("Treatment Emergent - Positive", where = .)) {
      `Treatment Emergent - Positive` == "TRUE"
    } else {
      FALSE
    },
    TIFL = if (exists("Treatment induced ADA", where = .)) {
      `Treatment induced ADA` == "TRUE"
    } else {
      FALSE
    },
    TEFL = if (exists("Treatment enhanced ADA", where = .)) {
      `Treatment enhanced ADA` == "TRUE"
    } else {
      FALSE
    },
    NTEFL = if (exists("Treatment Emergent - Negative", where = .)) {
      `Treatment Emergent - Negative` == "TRUE"
    } else {
      FALSE
    },
    TUFL = if (exists("Treatment unaffected", where = .)) {
      `Treatment unaffected` == "TRUE"
    } else {
      FALSE
    }
  ) %>%
  var_relabel(
    ADPBLPFL = "Post-baseline evaluable patients",
    PTEFL = "Patient positive for Treatment Emergent ADA",
    TIFL = "Treatment-induced ADA",
    TEFL = "Treatment-enhanced ADA",
    NTEFL = "Patient negative for Treatment Emergent ADA",
    TUFL = "Treatment unaffected"
  )

Reproducibility

Timestamp

[1] "2025-08-13 18:11:54 UTC"

Session Info

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.0 (2025-04-11)
 os       Ubuntu 24.04.2 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2025-08-13
 pandoc   3.7.0.2 @ /usr/bin/ (via rmarkdown)
 quarto   1.7.32 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package           * version     date (UTC) lib source
 backports           1.5.0       2024-05-23 [1] RSPM
 brio                1.1.5       2024-04-24 [1] RSPM
 broom               1.0.9       2025-07-28 [1] RSPM
 checkmate           2.3.2       2024-07-29 [1] RSPM
 cli                 3.6.5       2025-04-23 [1] RSPM
 codetools           0.2-20      2024-03-31 [2] CRAN (R 4.5.0)
 curl                6.4.0       2025-06-22 [1] RSPM
 dichromat           2.0-0.1     2022-05-02 [1] CRAN (R 4.5.0)
 digest              0.6.37      2024-08-19 [1] RSPM
 dplyr             * 1.1.4       2023-11-17 [1] RSPM
 evaluate            1.0.4       2025-06-18 [1] RSPM
 farver              2.1.2       2024-05-13 [1] RSPM
 fastmap             1.2.0       2024-05-15 [1] RSPM
 forcats             1.0.0       2023-01-29 [1] RSPM
 formatters        * 0.5.11.9002 2025-08-13 [1] https://p~
 generics            0.1.4       2025-05-09 [1] RSPM
 ggplot2             3.5.2.9002  2025-08-13 [1] https://p~
 glue                1.8.0       2024-09-30 [1] RSPM
 gtable              0.3.6       2024-10-25 [1] RSPM
 htmltools           0.5.8.1     2024-04-04 [1] RSPM
 htmlwidgets         1.6.4       2023-12-06 [1] RSPM
 jsonlite            2.0.0       2025-03-27 [1] RSPM
 knitr               1.50        2025-03-16 [1] RSPM
 lattice             0.22-7      2025-04-02 [2] CRAN (R 4.5.0)
 lifecycle           1.0.4       2023-11-07 [1] RSPM
 magrittr          * 2.0.3       2022-03-30 [1] RSPM
 Matrix              1.7-3       2025-03-11 [1] CRAN (R 4.5.0)
 nestcolor           0.1.3.9000  2025-08-13 [1] https://p~
 pillar              1.11.0      2025-07-04 [1] RSPM
 pkgcache            2.2.4       2025-05-26 [1] RSPM
 pkgconfig           2.0.3       2019-09-22 [1] RSPM
 processx            3.8.6       2025-02-21 [1] RSPM
 ps                  1.9.1       2025-04-12 [1] RSPM
 purrr               1.1.0       2025-07-10 [1] RSPM
 R6                  2.6.1       2025-02-15 [1] RSPM
 random.cdisc.data   0.3.16.9006 2025-08-13 [1] https://p~
 rbibutils           2.3         2024-10-04 [1] RSPM
 RColorBrewer        1.1-3       2022-04-03 [1] RSPM
 Rdpack              2.6.4       2025-04-09 [1] RSPM
 rlang               1.1.6       2025-04-11 [1] RSPM
 rmarkdown           2.29        2024-11-04 [1] RSPM
 rtables           * 0.6.13.9000 2025-08-13 [1] https://p~
 S7                  0.2.0       2024-11-07 [1] RSPM
 scales              1.4.0       2025-04-24 [1] RSPM
 sessioninfo         1.2.3       2025-02-05 [1] any (@1.2.3)
 stringi             1.8.7       2025-03-27 [1] RSPM
 stringr             1.5.1       2023-11-14 [1] RSPM
 survival            3.8-3       2024-12-17 [2] CRAN (R 4.5.0)
 tern              * 0.9.9.9001  2025-08-13 [1] https://p~
 testthat            3.2.3       2025-01-13 [1] RSPM
 tibble            * 3.3.0       2025-06-08 [1] RSPM
 tidyr               1.3.1       2024-01-24 [1] RSPM
 tidyselect          1.2.1       2024-03-11 [1] RSPM
 vctrs               0.6.5       2023-12-01 [1] RSPM
 withr               3.0.2       2024-10-28 [1] RSPM
 xfun                0.52        2025-04-02 [1] RSPM
 yaml                2.3.10      2024-07-26 [1] RSPM

 [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

ADAT02
Source Code
---
title: ADAT01
subtitle: Baseline Prevalence and Incidence of Treatment Emergent ADA
---

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

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

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

adsl <- random.cdisc.data::cadsl
adab <- random.cdisc.data::cadab

# Order needed for the columns is c(1, 3, 4, 2, 5)
reorder_facets <- function(splret, spl, fulldf, ...) {
  ord <- c(1, 3, 4, 2, 5)
  make_split_result(
    splret$values[ord],
    splret$datasplit[ord],
    splret$labels[ord]
  )
}

# Create a custom split function for adding the new columns (facets) and sorting them
custom_column_split_fun <- make_split_fun(
  post = list(
    add_combo_facet("all_X",
      label = "All Drug X",
      levels = c("A: Drug X", "C: Combination")
    ),
    add_combo_facet("all_pt",
      label = "All Patients",
      levels = c("A: Drug X", "B: Placebo", "C: Combination")
    ),
    reorder_facets
  )
)


# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.
adsl <- df_explicit_na(adsl)
adab <- adab %>%
  filter(PARCAT1 == "A: Drug X Antibody") %>%
  select(-ARRLT, -NRRLT)

# Baseline Pts
adab_b <- df_explicit_na(adab) %>%
  filter(
    ABLFL == "Y",
    ADABLPFL == "Y",
    PARAM %in% c("ADA interpreted per sample result")
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU) %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  mutate_at(
    c("ADA interpreted per sample result"),
    as.logical
  ) %>%
  mutate(
    ADABLPFL = ADABLPFL == "Y",
    PADABLPFL = `ADA interpreted per sample result` == "TRUE",
    NADABLPFL = `ADA interpreted per sample result` == "FALSE"
  ) %>%
  var_relabel(
    ADABLPFL = "Baseline evaluable patients",
    PADABLPFL = "Patient with a positive sample at baseline",
    NADABLPFL = "Patient with no positive samples at baseline"
  )

# Post Baseline Treatment Enhanced NAb positive Pts
adab_pb <- df_explicit_na(adab) %>%
  filter(
    ABLFL != "Y",
    ADPBLPFL == "Y",
    PARAM %in% c(
      "ADA interpreted per sample result",
      "Treatment Emergent - Positive",
      "Treatment induced ADA",
      "Treatment enhanced ADA",
      "Treatment Emergent - Negative",
      "Treatment unaffected"
    )
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU) %>%
  unique() %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  mutate(
    across(
      any_of(c(
        "ADA interpreted per sample result", "Treatment Emergent - Positive",
        "Treatment induced ADA", "Treatment enhanced ADA",
        "Treatment Emergent - Negative", "Treatment unaffected"
      )),
      as.logical
    )
  ) %>%
  mutate(
    ADPBLPFL = ADPBLPFL == "Y",
    PTEFL = if (exists("Treatment Emergent - Positive", where = .)) {
      `Treatment Emergent - Positive` == "TRUE"
    } else {
      FALSE
    },
    TIFL = if (exists("Treatment induced ADA", where = .)) {
      `Treatment induced ADA` == "TRUE"
    } else {
      FALSE
    },
    TEFL = if (exists("Treatment enhanced ADA", where = .)) {
      `Treatment enhanced ADA` == "TRUE"
    } else {
      FALSE
    },
    NTEFL = if (exists("Treatment Emergent - Negative", where = .)) {
      `Treatment Emergent - Negative` == "TRUE"
    } else {
      FALSE
    },
    TUFL = if (exists("Treatment unaffected", where = .)) {
      `Treatment unaffected` == "TRUE"
    } else {
      FALSE
    }
  ) %>%
  var_relabel(
    ADPBLPFL = "Post-baseline evaluable patients",
    PTEFL = "Patient positive for Treatment Emergent ADA",
    TIFL = "Treatment-induced ADA",
    TEFL = "Treatment-enhanced ADA",
    NTEFL = "Patient negative for Treatment Emergent ADA",
    TUFL = "Treatment unaffected"
  )
```

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

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

## Output

:::: panel-tabset
## Standard Table

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

```{r variant1, test = list(result_v1 = "result")}
# Layout for Baseline Prevalence of NAbs
lyt_bl <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by(
    "ACTARM",
    split_fun = custom_column_split_fun
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "ADABLPFL",
    .stats = "count",
    var_labels = "Baseline Prevalence of ADAs",
    show_labels = "visible",
    table_names = "t1"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "PADABLPFL",
    table_names = "t2",
    .indent_mods = 1L,
    var_labels = "a",
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "NADABLPFL",
    .stats = "count",
    show_labels = "hidden",
    .indent_mods = 1L,
    table_names = "t3"
  )

# Layout for incidence of NAbs
lyt_pb <- basic_table(show_colcounts = TRUE) %>%
  split_cols_by(
    "ACTARM",
    split_fun = custom_column_split_fun
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "ADPBLPFL",
    .stats = "count",
    var_labels = "Incidence of Treatment Emergent ADAs",
    show_labels = "visible",
    table_names = "tb1"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "PTEFL",
    table_names = "tb2",
    .indent_mods = 1L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = c("TIFL", "TEFL"),
    .stats = "count",
    table_names = "tb3",
    .indent_mods = 2L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "NTEFL",
    table_names = "tb4",
    .indent_mods = 1L,
    show_labels = "hidden"
  ) %>%
  count_patients_with_flags(
    "USUBJID",
    flag_variables = "TUFL",
    .stats = "count",
    table_names = "tb5",
    .indent_mods = 2L,
    show_labels = "hidden"
  )

result_1 <- build_table(lyt_bl, df = adab_b, alt_counts_df = adsl)
result_2 <- build_table(lyt_pb, df = adab_pb, alt_counts_df = adsl)

# Combine tables.
result_1@col_info <- result_2@col_info
result <- rbind(result_1, result_2)

main_title(result) <- paste(
  "Baseline Prevalence and Incidence of Treatment Emergent ADA"
)
# nolint start: line_length.
main_footer(result) <- "ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies) Baseline evaluable patient = a patient with an ADA assay result from a baseline sample(s)
  Post-baseline evaluable patient = a patient with an ADA assay result from at least one post-baseline sample Number of patients positive for Treatment Emergent
  ADA = the number (and percentage) of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
  Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
  Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
  Number of patients negative for Treatment Emergent ADA = number of post-baseline evaluable patients with negative or missing baseline ADA result(s) and all negative post-baseline results, or a patient who is treatment unaffected.
  Treatment unaffected = A post-baseline evaluable patient with a positive ADA result at baseline and (a) where all post-baseline titer results are less than 0.60 t.u. greater than the baseline titer result, OR (b) where all post-baseline results are negative or missing.
  For any positive sample with titer result less than the minimum reportable titer or any positive sample where a titer cannot be obtained, titer value is imputed as equal to the minimum reportable titer."
# nolint end: line_length.
result
```

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

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

## Data Setup

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

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

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

Made with ❤️ by the NEST Team

  • Edit this page
  • Report an issue
Cookie Preferences