Biomarker Analysis Catalog - Dev
  • Dev
    • Stable
  1. Graphs
  2. RFG
  3. RFG2
  4. RFG2C
  • 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. RFG
  3. RFG2
  4. RFG2C

RFG2C

Response Forest Graphs for Comparing Continuous Biomarker Effects Across Subgroups (Multiple Continuous Biomarkers with Stratification)

RFG

  • Setup
  • Plot
  • Session Info

These templates are helpful when we are interested in modelling the effects of continuous biomarker variables on the binary response outcome, conditional on covariates and/or stratification variables included in (conditional) logistic regression models. We would like to assess how the estimates effects change when we look at different subgroups.

In detail the differences to RFG1 are the following:

  • The extract_rsp_subgroups() and tabulate_rsp_subgroups() functions used in RFG1 evaluate the treatment effects from two arms, across subgroups. On the other hand, the extract_rsp_biomarkers() and tabulate_rsp_biomarkers() functions used here in RFG2 evaluate the effects from continuous biomarkers on the probability for response.
  • The extract_rsp_subgroups() and tabulate_rsp_subgroups() functions only allow specification of a single treatment arm variable, while the extract_rsp_biomarkers() and tabulate_rsp_biomarkers() allow to look at multiple continuous biomarker variables at once.
  • In addition to the treatment arms, the use of extract_rsp_subgroups() and tabulate_rsp_subgroups() functions can be extended to other binary variables. For example, we could define the binarized ARM variable as AGE>=65 vs. AGE<65 and then look at the odds ratios across subgroups. For the extract_rsp_biomarkers() and tabulate_rsp_biomarkers() functions, we could use the original continuous biomarker variable AGE, and then look at the estimated effect across subgroups.

Similarly like in RFG1, we will use the cadrs data set from the random.cdisc.data package. Here we just filter for the Best Confirmed Overall Response by Investigator and patients with measurable disease at baseline, and define a new variable COMPRESP to include complete responses only.

Code
library(tern)
library(dplyr)
library(hermes)

adrs <- random.cdisc.data::cadrs

adrs_f <- adrs %>%
  df_explicit_na() %>%
  filter(PARAMCD == "BESRSPI", BMEASIFL == "Y") %>%
  mutate(COMPRESP = (AVALC == "CR"))

Finally we can also specify stratification variables with the strat variable element, which leads to the use of conditional logistic regression models.

Code
df <- extract_rsp_biomarkers(
  variables = list(
    rsp = "COMPRESP",
    biomarkers = c("BMRKR1", "AGE"),
    covariates = "SEX",
    subgroups = "BMRKR2",
    strat = c("STRATA1", "STRATA2")
  ),
  data = adrs_f
)
Warning in extract_rsp_biomarkers(variables = list(rsp = "COMPRESP", biomarkers = c("BMRKR1", : Warning: the `strat` element name of the `variables` list argument to `extract_rsp_biomarkers() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_logistic_mult_cont_df(variables = variables, data = data, control = control): Warning: the `strat` element name of the `variables` list argument to `h_logistic_mult_cont_df() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_logistic_mult_cont_df(variables = variables, data = grp$df, : Warning: the `strat` element name of the `variables` list argument to `h_logistic_mult_cont_df() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_logistic_mult_cont_df(variables = variables, data = grp$df, : Warning: the `strat` element name of the `variables` list argument to `h_logistic_mult_cont_df() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_logistic_mult_cont_df(variables = variables, data = grp$df, : Warning: the `strat` element name of the `variables` list argument to `h_logistic_mult_cont_df() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Warning in h_rsp_to_logistic_variables(variables, bm): Warning: the `strat` element name of the `variables` list argument to `h_rsp_to_logistic_variables() was deprecated in tern 0.9.4.
  Please use the name `strata` instead of `strat` in the `variables` argument.
Code
result <- tabulate_rsp_biomarkers(df, vars = c("n_tot", "n_rsp", "prop", "or", "ci"))
g_forest(result, xlim = c(0.7, 1.4))

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] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] hermes_1.7.2.9002           SummarizedExperiment_1.34.0
 [3] Biobase_2.64.0              GenomicRanges_1.56.1       
 [5] GenomeInfoDb_1.40.1         IRanges_2.38.1             
 [7] S4Vectors_0.42.1            BiocGenerics_0.50.0        
 [9] MatrixGenerics_1.16.0       matrixStats_1.4.1          
[11] ggfortify_0.4.17            ggplot2_3.5.1              
[13] dplyr_1.1.4                 tern_0.9.5.9022            
[15] rtables_0.6.9.9014          magrittr_2.0.3             
[17] formatters_0.5.9.9001      

loaded via a namespace (and not attached):
  [1] Rdpack_2.6.1                  DBI_1.2.3                    
  [3] httr2_1.0.3                   gridExtra_2.3                
  [5] biomaRt_2.60.1                rlang_1.1.4                  
  [7] clue_0.3-65                   GetoptLong_1.0.5             
  [9] compiler_4.4.1                RSQLite_2.3.7                
 [11] png_0.1-8                     vctrs_0.6.5                  
 [13] stringr_1.5.1                 pkgconfig_2.0.3              
 [15] shape_1.4.6.1                 crayon_1.5.3                 
 [17] fastmap_1.2.0                 dbplyr_2.5.0                 
 [19] backports_1.5.0               XVector_0.44.0               
 [21] labeling_0.4.3                utf8_1.2.4                   
 [23] rmarkdown_2.28                UCSC.utils_1.0.0             
 [25] purrr_1.0.2                   bit_4.0.5                    
 [27] xfun_0.47                     MultiAssayExperiment_1.30.3  
 [29] zlibbioc_1.50.0               cachem_1.1.0                 
 [31] jsonlite_1.8.8                progress_1.2.3               
 [33] blob_1.2.4                    DelayedArray_0.30.1          
 [35] prettyunits_1.2.0             broom_1.0.6                  
 [37] parallel_4.4.1                cluster_2.1.6                
 [39] R6_2.5.1                      stringi_1.8.4                
 [41] RColorBrewer_1.1-3            Rcpp_1.0.13                  
 [43] assertthat_0.2.1              iterators_1.0.14             
 [45] knitr_1.48                    Matrix_1.7-0                 
 [47] splines_4.4.1                 tidyselect_1.2.1             
 [49] abind_1.4-8                   yaml_2.3.10                  
 [51] doParallel_1.0.17             codetools_0.2-20             
 [53] curl_5.2.2                    lattice_0.22-6               
 [55] tibble_3.2.1                  withr_3.0.1                  
 [57] KEGGREST_1.44.1               evaluate_0.24.0              
 [59] survival_3.7-0                BiocFileCache_2.12.0         
 [61] xml2_1.3.6                    circlize_0.4.16              
 [63] Biostrings_2.72.1             filelock_1.0.3               
 [65] pillar_1.9.0                  checkmate_2.3.2              
 [67] foreach_1.5.2                 generics_0.1.3               
 [69] hms_1.1.3                     munsell_0.5.1                
 [71] scales_1.3.0                  glue_1.7.0                   
 [73] tools_4.4.1                   forcats_1.0.0                
 [75] cowplot_1.1.3                 grid_4.4.1                   
 [77] tidyr_1.3.1                   rbibutils_2.2.16             
 [79] AnnotationDbi_1.66.0          colorspace_2.1-1             
 [81] random.cdisc.data_0.3.15.9009 GenomeInfoDbData_1.2.12      
 [83] cli_3.6.3                     rappdirs_0.3.3               
 [85] fansi_1.0.6                   S4Arrays_1.4.1               
 [87] ComplexHeatmap_2.20.0         gtable_0.3.5                 
 [89] digest_0.6.37                 SparseArray_1.4.8            
 [91] ggrepel_0.9.6                 farver_2.1.2                 
 [93] rjson_0.2.22                  htmlwidgets_1.6.4            
 [95] memoise_2.0.1                 htmltools_0.5.8.1            
 [97] lifecycle_1.0.4               httr_1.4.7                   
 [99] GlobalOptions_0.1.2           bit64_4.0.5                  

Reuse

Copyright 2023, Hoffmann-La Roche Ltd.
RFG2B
RFG3
Source Code
---
title: RFG2C
subtitle: Response Forest Graphs for Comparing Continuous Biomarker Effects Across Subgroups (Multiple Continuous Biomarkers with Stratification)
categories: [RFG]
---

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

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

## Plot

Finally we can also specify stratification variables with the `strat` variable element, which leads to the use of conditional logistic regression models.

```{r, fig.width = 15}
df <- extract_rsp_biomarkers(
  variables = list(
    rsp = "COMPRESP",
    biomarkers = c("BMRKR1", "AGE"),
    covariates = "SEX",
    subgroups = "BMRKR2",
    strat = c("STRATA1", "STRATA2")
  ),
  data = adrs_f
)

result <- tabulate_rsp_biomarkers(df, vars = c("n_tot", "n_rsp", "prop", "or", "ci"))
g_forest(result, xlim = c(0.7, 1.4))
```

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

Made with ❤️ by the Statistical Engineering Team StatisticalEngineering

  • License

  • Edit this page
  • Report an issue
Cookie Preferences