Biomarker Analysis Catalog - Dev
  • Dev
    • Stable
  1. Graphs
  2. RG
  3. RG1
  4. RG1A
  • 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. Graphs
  2. RG
  3. RG1
  4. RG1A

RG1A

Binarize Response Outcome for Response Graph for Overall Population

RG

  • Setup
  • Plot
  • Session Info

We will use the cadrs data set from the random.cdisc.data package to create the response plots. We transform the response variable into an ordered factor to ensure that the response labels are ordered correctly and a sequential color scheme is used in the graph. We select Best Confirmed Overall Response by Investigator to evaluate response. Finally, we select patients with measurable disease at baseline (BMEASIFL == "Y") as response evaluable patients.

For ggplot() used in all analyses, we add by = BMEASIFL in the aesthetics to support the calculation of proportions using geom_text(stat = "prop").

Code
library(tern)
library(ggplot2.utils)
library(dplyr)

adrs <- random.cdisc.data::cadrs %>%
  df_explicit_na() %>%
  mutate(AVALC = ordered(AVALC, levels = c("<Missing>", "NE", "PD", "SD", "PR", "CR"))) %>%
  filter(PARAMCD == "BESRSPI", BMEASIFL == "Y")

We can use the fct_collapse_only() function from tern to binarize the response variable.

Code
adrs <- adrs %>%
  mutate(
    AVALC_BIN = fct_collapse_only(
      AVALC,
      Yes = c("CR", "PR"),
      No = c("PD", "SD", "NE", "<Missing>")
    )
  )

We can then produce the response plot with the newly binarized response variable.

Code
graph <- ggplot(adrs, aes(BMEASIFL, fill = AVALC_BIN, by = BMEASIFL)) +
  geom_bar(position = "fill") +
  geom_text(stat = "prop", position = position_fill(.5)) +
  scale_y_continuous(labels = scales::percent) +
  ylab("%")

graph

Code
sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.4 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.20.so;  LAPACK version 3.10.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           ggplot2.utils_0.3.2   ggplot2_3.5.1        
[4] tern_0.9.5.9022       rtables_0.6.9.9014    magrittr_2.0.3       
[7] formatters_0.5.9.9001

loaded via a namespace (and not attached):
 [1] utf8_1.2.4                    generics_0.1.3               
 [3] tidyr_1.3.1                   EnvStats_3.0.0               
 [5] stringi_1.8.4                 lattice_0.22-6               
 [7] digest_0.6.37                 evaluate_0.24.0              
 [9] grid_4.4.1                    fastmap_1.2.0                
[11] jsonlite_1.8.8                Matrix_1.7-0                 
[13] backports_1.5.0               survival_3.7-0               
[15] purrr_1.0.2                   fansi_1.0.6                  
[17] viridisLite_0.4.2             scales_1.3.0                 
[19] codetools_0.2-20              Rdpack_2.6.1                 
[21] cli_3.6.3                     ggpp_0.5.8-1                 
[23] rlang_1.1.4                   rbibutils_2.2.16             
[25] munsell_0.5.1                 splines_4.4.1                
[27] withr_3.0.1                   yaml_2.3.10                  
[29] tools_4.4.1                   polynom_1.4-1                
[31] checkmate_2.3.2               colorspace_2.1-1             
[33] forcats_1.0.0                 ggstats_0.6.0                
[35] broom_1.0.6                   vctrs_0.6.5                  
[37] R6_2.5.1                      lifecycle_1.0.4              
[39] stringr_1.5.1                 htmlwidgets_1.6.4            
[41] MASS_7.3-61                   pkgconfig_2.0.3              
[43] pillar_1.9.0                  gtable_0.3.5                 
[45] glue_1.7.0                    xfun_0.47                    
[47] tibble_3.2.1                  tidyselect_1.2.1             
[49] knitr_1.48                    farver_2.1.2                 
[51] htmltools_0.5.8.1             labeling_0.4.3               
[53] rmarkdown_2.28                random.cdisc.data_0.3.15.9009
[55] compiler_4.4.1               

Reuse

Copyright 2023, Hoffmann-La Roche Ltd.
RG
RG1B
Source Code
---
title: RG1A
subtitle: Binarize Response Outcome for Response Graph for Overall Population
categories: [RG]
---

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

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

## Plot

We can use the `fct_collapse_only()` function from `tern` to binarize the response variable.

```{r}
adrs <- adrs %>%
  mutate(
    AVALC_BIN = fct_collapse_only(
      AVALC,
      Yes = c("CR", "PR"),
      No = c("PD", "SD", "NE", "<Missing>")
    )
  )
```

We can then produce the response plot with the newly binarized response variable.

```{r}
graph <- ggplot(adrs, aes(BMEASIFL, fill = AVALC_BIN, by = BMEASIFL)) +
  geom_bar(position = "fill") +
  geom_text(stat = "prop", position = position_fill(.5)) +
  scale_y_continuous(labels = scales::percent) +
  ylab("%")

graph
```

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

Made with ❤️ by the Statistical Engineering Team StatisticalEngineering

  • License

  • Edit this page
  • Report an issue
Cookie Preferences