Biomarker Analysis Catalog - Stable
  • Stable
    • Dev
  1. Tables
  2. DT
  3. DT1
  4. DT1C
  • Index

  • Tables
    • CPMT
      • CPMT1
      • CPMT2
        • CPMT2A
      • CPMT3
    • DT
      • DT1
        • DT1A
        • DT1B
        • DT1C
      • DT2
        • DT2A
    • TET
      • TET1
        • TET1A

  • Graphs
    • AG
      • AG1
    • DG
      • DG1
        • DG1A
        • DG1B
      • DG2
      • DG3
        • DG3A
      • DG4
    • KG
      • KG1
        • KG1A
        • KG1B
      • KG2
        • KG2A
      • KG3
      • KG4
        • KG4A
        • KG4B
      • KG5
        • KG5A
        • KG5B
    • RFG
      • RFG1
        • RFG1A
      • RFG2
        • RFG2A
        • RFG2B
        • RFG2C
      • RFG3
    • RG
      • RG1
        • RG1A
        • RG1B
        • RG1C
      • RG2
        • RG2A
      • RG3
        • RG3A
        • RG3B
    • SPG
      • SPG1
      • SPG2
    • RNAG
      • RNAG1
      • RNAG2
      • RNAG3
      • RNAG4
      • RNAG5
      • RNAG6
      • RNAG7
      • RNAG8
      • RNAG9
      • RNAG10
    • SFG
      • SFG1
        • SFG1A
        • SFG1B
      • SFG2
        • SFG2A
        • SFG2B
        • SFG2C
        • SFG2D
      • SFG3
        • SFG3A
      • SFG4
      • SFG5
        • SFG5A
        • SFG5B
        • SFG5C
      • SFG6
        • SFG6A
        • SFG6B
        • SFG6C
  1. Tables
  2. DT
  3. DT1
  4. DT1C

DT1C

Alternative BEP Indicator in Demographics Table

DT

  • Setup
  • Table
  • Session Info

The tables below compare the overall population (“All”) with the biomarker evaluable population (“BEP”) with regards to selected demographic variables.

We will use the cadsl data set from the random.cdisc.data package to illustrate the tables. We add a second artificial BEP flag variable BEP02FL.

In order to compare All with BEP, we need to define a list bep_groups defining these two groups. The reason is that these two groups are overlapping (BEP is a subset of All). Here, we refer in the list elements to the levels Y and N of the biomarker population flag variable BEP01FL from adsl which we will use below:

Code
library(tern)
library(dplyr)

set.seed(123)
adsl <- random.cdisc.data::cadsl %>%
  df_explicit_na() %>%
  mutate(BEP02FL = factor(sample(c("Y", "N"), size = n(), replace = TRUE)))

bep_groups <- list(
  "All" = c("Y", "N"),
  "BEP" = "Y"
)

This can then be used by the tern layout function split_cols_by_groups() below.

We can of course use a different BEP factor variable BEP02FL with corresponding groups definition bep2_groups in the demographics table DT1.

Code
bep2_groups <- list(
  "All" = c("Y", "N"),
  "BEP2" = "Y"
)

lyt <- basic_table() %>%
  split_cols_by("ARM") %>%
  split_cols_by_groups("BEP02FL", bep2_groups) %>%
  analyze_vars(c("AGE", "SEX")) %>%
  add_colcounts()

build_table(lyt, adsl)
                      A: Drug X                  B: Placebo                C: Combination      
                  All          BEP2           All          BEP2           All          BEP2    
                (N=134)       (N=68)        (N=134)       (N=75)        (N=132)       (N=68)   
———————————————————————————————————————————————————————————————————————————————————————————————
AGE                                                                                            
  n               134           68            134           75            132           68     
  Mean (SD)   33.8 (6.6)    32.3 (6.2)    35.4 (7.9)    35.5 (7.4)    35.4 (7.7)    35.3 (6.7) 
  Median         33.0          31.0          35.0          36.0          35.0          35.0    
  Min - Max   21.0 - 50.0   21.0 - 47.0   21.0 - 62.0   23.0 - 58.0   20.0 - 69.0   21.0 - 49.0
SEX                                                                                            
  n               134           68            134           75            132           68     
  F            79 (59%)     42 (61.8%)    82 (61.2%)     48 (64%)      70 (53%)      34 (50%)  
  M            55 (41%)     26 (38.2%)    52 (38.8%)     27 (36%)      62 (47%)      34 (50%)  
Code
sessionInfo()
R version 4.4.2 (2024-10-31)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 24.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

time zone: Etc/UTC
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] dplyr_1.1.4       tern_0.9.7        rtables_0.6.11    magrittr_2.0.3   
[5] formatters_0.5.10

loaded via a namespace (and not attached):
 [1] Matrix_1.7-2             gtable_0.3.6             jsonlite_1.9.0          
 [4] compiler_4.4.2           tidyselect_1.2.1         stringr_1.5.1           
 [7] tidyr_1.3.1              splines_4.4.2            scales_1.3.0            
[10] yaml_2.3.10              fastmap_1.2.0            lattice_0.22-6          
[13] ggplot2_3.5.1            R6_2.6.1                 generics_0.1.3          
[16] knitr_1.49               forcats_1.0.0            rbibutils_2.3           
[19] htmlwidgets_1.6.4        backports_1.5.0          checkmate_2.3.2         
[22] tibble_3.2.1             munsell_0.5.1            pillar_1.10.1           
[25] rlang_1.1.5              broom_1.0.7              stringi_1.8.4           
[28] xfun_0.51                cli_3.6.4                Rdpack_2.6.2            
[31] digest_0.6.37            grid_4.4.2               lifecycle_1.0.4         
[34] vctrs_0.6.5              evaluate_1.0.3           glue_1.8.0              
[37] nestcolor_0.1.3          codetools_0.2-20         survival_3.8-3          
[40] random.cdisc.data_0.3.16 colorspace_2.1-1         rmarkdown_2.29          
[43] purrr_1.0.4              tools_4.4.2              pkgconfig_2.0.3         
[46] htmltools_0.5.8.1       

Reuse

Copyright 2023, Hoffmann-La Roche Ltd.
DT1B
DT2
Source Code
---
title: DT1C
subtitle: Alternative BEP Indicator in Demographics Table
categories: [DT]
---

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

::: panel-tabset
{{< include setup.qmd >}}

## Table

We can of course use a different BEP factor variable `BEP02FL` with corresponding groups definition `bep2_groups` in the demographics table DT1.

```{r}
bep2_groups <- list(
  "All" = c("Y", "N"),
  "BEP2" = "Y"
)

lyt <- basic_table() %>%
  split_cols_by("ARM") %>%
  split_cols_by_groups("BEP02FL", bep2_groups) %>%
  analyze_vars(c("AGE", "SEX")) %>%
  add_colcounts()

build_table(lyt, adsl)
```

{{< include ../../misc/session_info.qmd >}}
:::

Made with ❤️ by the Statistical Engineering Team StatisticalEngineering

  • License

  • Edit this page
  • Report an issue
Cookie Preferences