CPMT2
Cox Proportional Hazards Model Tables with Multiple Covariates
We prepare the data similarly as in CPMT1.
The multivariate Cox Proportional Hazards model can be displayed in a summary table using the summarize_coxreg function from tern with the multivar argument set to TRUE. Like the corresponding model fitting function fit_coxreg_multivar(), we specify the time, event, arm and covariates in a variables list, and any further customizations via the control argument. 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
Effect/Covariate Included in the Model Hazard Ratio 95% CI p-value
————————————————————————————————————————————————————————————————————————————————————————————
Treatment:
Description of Planned Arm (reference = A: Drug X) 0.0164
B: Placebo 1.15 (0.66, 1.99) 0.6217
C: Combination 1.95 (1.19, 3.21) 0.0080
Covariate:
Age
All 1.01 (0.98, 1.04) 0.4993
Biomarker (Continuous)
All 1.01 (0.96, 1.07) 0.6755
Biomarker (Categorical) (reference = LOW) 0.7350
MEDIUM 1.01 (0.62, 1.67) 0.9558
HIGH 0.84 (0.50, 1.40) 0.5054
R version 4.5.2 (2025-10-31)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 24.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.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.2.1 tern_0.9.10 rtables_0.6.15 magrittr_2.0.5
[5] formatters_0.5.12
loaded via a namespace (and not attached):
[1] generics_0.1.4 tidyr_1.3.2 stringi_1.8.7
[4] lattice_0.22-9 digest_0.6.39 evaluate_1.0.5
[7] grid_4.5.2 RColorBrewer_1.1-3 fastmap_1.2.0
[10] jsonlite_2.0.0 Matrix_1.7-5 backports_1.5.1
[13] Formula_1.2-5 survival_3.8-6 purrr_1.2.1
[16] scales_1.4.0 codetools_0.2-20 abind_1.4-8
[19] Rdpack_2.6.6 cli_3.6.5 nestcolor_0.1.3
[22] rlang_1.2.0 rbibutils_2.4.1 splines_4.5.2
[25] yaml_2.3.12 otel_0.2.0 tools_4.5.2
[28] checkmate_2.3.4 ggplot2_4.0.2 forcats_1.0.1
[31] broom_1.0.12 vctrs_0.7.2 R6_2.6.1
[34] lifecycle_1.0.5 stringr_1.6.0 car_3.1-5
[37] htmlwidgets_1.6.4 pkgconfig_2.0.3 pillar_1.11.1
[40] gtable_0.3.6 glue_1.8.0 xfun_0.57
[43] tibble_3.3.1 tidyselect_1.2.1 knitr_1.51
[46] dichromat_2.0-0.1 farver_2.1.2 htmltools_0.5.9
[49] rmarkdown_2.31 carData_3.0-6 random.cdisc.data_0.3.16
[52] compiler_4.5.2 S7_0.2.1
