Biomarker Analysis Catalog - Dev
  • Dev
    • Stable
  1. Tables
  2. CPMT
  • 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. CPMT

CPMT1

Cox Proportional Hazards Model Tables with a Single Covariate

CPM

  • Setup
  • Table
  • Session Info

We will use the cadtte data set from the random.cdisc.data package to illustrate the tables. We start by selecting the biomarker evaluable population (BEP) and the time-to-event endpoint of interest, here overall survival. We then convert time of overall survival to months and create a new variable for the event information.

Code
library(tern)
library(dplyr)

adtte <- random.cdisc.data::cadtte %>%
  df_explicit_na() %>%
  filter(PARAMCD == "OS", BEP01FL == "Y") %>%
  mutate(
    AVAL = day2month(AVAL),
    AVALU = "Months",
    event = 1 - CNSR
  )

The summarize_coxreg() function in tern takes the same variables, at, and control arguments that are used to fit a model using the fit_coxreg_univar() function - specifying the time, event and covariate in a variables list, and control and at with any further customizations to the model. Note that the default confidence level is 95% but this can be customized via the conf_level element in control.

Rather than fitting the model and then tidying the output via the broom::tidy() function, we can directly input these three arguments into the summarize_coxreg() function to summarize the model fit in a table layout, building the table with our pre-processed adtte data set.

Code
lyt <- basic_table() %>%
  summarize_coxreg(variables = list(
    time = "AVAL",
    event = "event",
    covariates = "COUNTRY"
  ))

build_table(lyt, adtte)
                              Hazard Ratio      95% CI      p-value
———————————————————————————————————————————————————————————————————
Covariate:                                                         
  Country (reference = CHN)                                 0.1604 
    USA                           1.67       (0.87, 3.19)   0.1230 
    BRA                           0.43       (0.17, 1.07)   0.0698 
    PAK                           0.38       (0.12, 1.22)   0.1043 
    NGA                           1.67       (0.76, 3.66)   0.2048 
    RUS                           0.91       (0.33, 2.50)   0.8488 
    JPN                           1.40       (0.51, 3.85)   0.5206 
    GBR                           0.78       (0.24, 2.49)   0.6738 
    CAN                           1.31       (0.41, 4.21)   0.6460 
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           tern_0.9.5.9022       rtables_0.6.9.9014   
[4] magrittr_2.0.3        formatters_0.5.9.9001

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

Reuse

Copyright 2023, Hoffmann-La Roche Ltd.
Tables
CPMT2
Source Code
---
title: CPMT1
subtitle: Cox Proportional Hazards Model Tables with a Single Covariate
categories: [CPM]
---

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

::: panel-tabset
## Setup

We will use the `cadtte` data set from the `random.cdisc.data` package to illustrate the tables.
We start by selecting the biomarker evaluable population (BEP) and the time-to-event endpoint of interest, here overall survival.
We then convert time of overall survival to months and create a new variable for the event information.

```{r, message = FALSE}
library(tern)
library(dplyr)

adtte <- random.cdisc.data::cadtte %>%
  df_explicit_na() %>%
  filter(PARAMCD == "OS", BEP01FL == "Y") %>%
  mutate(
    AVAL = day2month(AVAL),
    AVALU = "Months",
    event = 1 - CNSR
  )
```

## Table

The `summarize_coxreg()` function in `tern` takes the same `variables`, `at`, and `control` arguments that are used to fit a model using the `fit_coxreg_univar()` function - specifying the time, event and covariate in a `variables` list, and `control` and `at` with any further customizations to the model.
Note that the default confidence level is 95% but this can be customized via the `conf_level` element in `control`.

Rather than fitting the model and then tidying the output via the `broom::tidy()` function, we can directly input these three arguments into the `summarize_coxreg()` function to summarize the model fit in a table layout, building the table with our pre-processed `adtte` data set.

```{r}
lyt <- basic_table() %>%
  summarize_coxreg(variables = list(
    time = "AVAL",
    event = "event",
    covariates = "COUNTRY"
  ))

build_table(lyt, adtte)
```

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

Made with ❤️ by the Statistical Engineering Team StatisticalEngineering

  • License

  • Edit this page
  • Report an issue
Cookie Preferences