### Packages to compile rmarkdown
library(knitr)
library(rmarkdown)
### Packages for nice tables
library(kableExtra)
font_size <- 9
cache <- 0
### Set global option for font_size for bkable in this document
options(bkable_font_size = font_size)
options(bkable_full_width = TRUE)
knitr::opts_chunk$set(cache = cache, cache.comments = FALSE, echo = TRUE, warning = FALSE, message = FALSE, error = FALSE, fig.width = 6, fig.height = 5, fig.align = "center", tidy=TRUE, tidy.opts = list(width.cutoff = 80))
### Necessary for knit_child
knitr::opts_knit$set(output.dir = getwd())
Load data
bdata
object contains random survival and biomarker data. It is not expected to observe any biologically meaningful associations. The goal for this data sets is solely to demonstrate the functionality of this package.
data(bdata)
### Dichotomize gene expression into low and high
genes <- c("BCL2", "GeneA", "GeneB", "GeneC", "GeneD")
data_cat2 <- dplyr::mutate_all(bdata[, genes], wrapper_cut_2groups)
colnames(data_cat2) <- paste0(genes, "_cat2")
### Stratify gene expression into quartiles
data_cat4 <- dplyr::mutate_all(bdata[, genes], wrapper_cut_quartiles)
colnames(data_cat4) <- paste0(genes, "_cat4")
bdata <- cbind(bdata, data_cat2, data_cat4)
Define variable names
## Patient_ID Age Sex IPI
## "Patient ID" "Age" "Sex" "IPI"
## Geographic_Region Treatment_Arm PFS PFS_Event
## "Geographic Region" "Treatment Arm" "PFS" "PFS Event"
## Response Cell_Of_Origin BCL2_by_IHC BCL2_by_FISH
## "Response" "Cell Of Origin" "BCL2 by IHC" "BCL2 by FISH"
## BCL2 GeneA GeneB GeneC
## "BCL2" "GeneA" "GeneB" "GeneC"
## GeneD BEP_RNAseq ORR BCL2_cat2
## "GeneD" "BEP RNAseq" "ORR" "BCL2 cat2"
## GeneA_cat2 GeneB_cat2 GeneC_cat2 GeneD_cat2
## "GeneA cat2" "GeneB cat2" "GeneC cat2" "GeneD cat2"
## BCL2_cat4 GeneA_cat4 GeneB_cat4 GeneC_cat4
## "BCL2 cat4" "GeneA cat4" "GeneB cat4" "GeneC cat4"
## GeneD_cat4
## "GeneD cat4"
### Adjust variable names
variable_names[["GeneA_cat2"]] <- "Gene A stratified by median"
Cox regression
In wrapper_cox_regression_core_simple()
, covariate_vars Vector with names of covariates that are included in the formula of the simple additive model: ~ covariate_vars[1] + covariate_vars[2] + covariate_vars[3] + ...
.
This function is the core function and should not be used for the analysis, it is a function called by the other functions such as wrapper_cox_regression_biomarker
and wrapper_cox_regression_treatment
.
In wrapper_cox_regression_biomarker
and wrapper_cox_regression_treatment
, biomarker_vars
is a vector with biomarker names. For each biomarker a separate Cox regression model is fitted. The results are combined in a single table.
In wrapper_cox_regression_biomarker
and wrapper_cox_regression_treatment
, adjustment_vars
are added additionally to biomarker_vars
and treatment_var
to the model, for example, ~ biomarker_vars[i] + treatment_var + adjustment_vars[1] + adjustment_vars[2] + ...
adjustment_vars
would be the official stratification factors from the study plus any other variables you want to use for adjustment, for example, any other known prognostic factors.
strata_vars
, would be the same as adjustment_vars
. The difference is that when you define strata_vars
they are used in Cox regression as “true stratification factors” with the formula ~ biomarker_vars[i] + treatment_var + strata(strata_vars[1] + strata_vars[2] + ...)
See https://stats.stackexchange.com/questions/256148/stratification-in-cox-model
strat1_var
, strat2_var
are used to split the data (I should call them split1_var
, split2_var
). Then the analysis is done within the subgroups of each of the variables. For example, if strat2_var = "PDL1"
, the Cox regression is run separately within the PDL1 low and PDL1 high.
### Biomarker effect
data <- bdata
tte_var <- "PFS"
censor_var <- "PFS_Event"
biomarker_vars <- c("GeneA_cat2", "GeneA")
adjustment_vars <- "IPI"
treatment_var = "Treatment_Arm"
wrapper_cox_regression_biomarker(data, tte_var = tte_var, censor_var = censor_var,
biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars, treatment_var = treatment_var)
Biomarker effect on PFS. Adjusted, unstratified analysis. Cox regression model includes the biomarker and IPI.
Treatment Arm
|
Biomarker
|
Subgroup
|
Total N
|
Total Events
|
N
|
Events
|
MST
|
MST 95% CI
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
CTRL
|
GeneA cat2
|
low
|
204
|
85
|
104
|
41 (39.4%)
|
NA
|
(76.9 - NA)
|
|
|
|
|
|
|
high
|
204
|
85
|
100
|
44 (44.0%)
|
83.1
|
(82.1 - NA)
|
1.00
|
(0.65 - 1.55)
|
0.9828
|
0.9828
|
TRT
|
GeneA cat2
|
low
|
196
|
83
|
96
|
40 (41.7%)
|
99.9
|
(82.2 - NA)
|
|
|
|
|
|
|
high
|
196
|
83
|
100
|
43 (43.0%)
|
100.3
|
(81.6 - NA)
|
0.91
|
(0.59 - 1.41)
|
0.6827
|
0.9828
|
CTRL
|
GeneA
|
|
204
|
85
|
|
|
|
|
1.06
|
(0.86 - 1.31)
|
0.5723
|
0.9828
|
TRT
|
GeneA
|
|
196
|
83
|
|
|
|
|
1.03
|
(0.82 - 1.29)
|
0.8129
|
0.9828
|
## To represent the results with a forest plot
x <- wrapper_cox_regression_biomarker(data, tte_var = tte_var, censor_var = censor_var,
biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars, treatment_var = treatment_var,
print_total = FALSE, print_adjpvalues = FALSE)
bforest(x)
### Treatment effect within biomarker subgroups
data <- bdata
tte_var <- "PFS"
censor_var <- "PFS_Event"
treatment_var = "Treatment_Arm"
biomarker_vars <- c("GeneA_cat2", "GeneB_cat2")
adjustment_vars <- "IPI"
wrapper_cox_regression_treatment(data, tte_var = tte_var, censor_var = censor_var,
treatment_var = treatment_var, biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars)
Treatment effect on PFS. Adjusted, unstratified analysis. Cox regression model includes the treatment and IPI.
Biomarker
|
Biomarker Subgroup
|
Treatment Subgroup
|
Total N
|
Total Events
|
N
|
Events
|
MST
|
MST 95% CI
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
low
|
CTRL
|
200
|
81
|
104
|
41 (39.4%)
|
NA
|
(76.9 - NA)
|
|
|
|
|
|
|
TRT
|
200
|
81
|
96
|
40 (41.7%)
|
99.9
|
(82.2 - NA)
|
0.83
|
(0.53 - 1.30)
|
0.4156
|
0.5541
|
GeneA cat2
|
high
|
CTRL
|
200
|
87
|
100
|
44 (44.0%)
|
83.1
|
(82.1 - NA)
|
|
|
|
|
|
|
TRT
|
200
|
87
|
100
|
43 (43.0%)
|
100.3
|
(81.6 - NA)
|
0.75
|
(0.49 - 1.15)
|
0.1917
|
0.3835
|
GeneB cat2
|
low
|
CTRL
|
200
|
73
|
96
|
35 (36.5%)
|
98.3
|
(82.6 - NA)
|
|
|
|
|
|
|
TRT
|
200
|
73
|
104
|
38 (36.5%)
|
NA
|
(91.0 - NA)
|
0.92
|
(0.58 - 1.47)
|
0.7371
|
0.7371
|
GeneB cat2
|
high
|
CTRL
|
200
|
95
|
108
|
50 (46.3%)
|
80.4
|
(63.6 - NA)
|
|
|
|
|
|
|
TRT
|
200
|
95
|
92
|
45 (48.9%)
|
87.5
|
(82.1 - NA)
|
0.63
|
(0.41 - 0.96)
|
0.0301 *
|
0.1204
|
## To represent the results with a forest plot
x <- wrapper_cox_regression_treatment(data, tte_var = tte_var, censor_var = censor_var,
treatment_var = treatment_var, biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars,
print_total = FALSE, print_adjpvalues = FALSE)
bforest(x)
### Treatment-biomarker interaction effect
data <- bdata
tte_var <- "PFS"
censor_var <- "PFS_Event"
treatment_var = "Treatment_Arm"
biomarker_vars <- c("GeneA_cat2", "GeneA")
adjustment_vars <- "IPI"
wrapper_cox_regression_interaction(data, tte_var, censor_var, treatment_var = treatment_var,
biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars)
Effect of interaction between biomarker and treatment on PFS. Adjusted, unstratified analysis. Cox regression model includes: biomarker, treatment and IPI.
Biomarker
|
Biomarker Effect
|
Treatment Effect
|
Total N
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
high vs low
|
TRT vs CTRL
|
400
|
0.92
|
(0.50 - 1.70)
|
0.7985
|
0.8593
|
GeneA
|
|
TRT vs CTRL
|
400
|
0.97
|
(0.72 - 1.32)
|
0.8593
|
0.8593
|
Log-rank test
### Biomarker effect
data <- bdata
tte_var <- "PFS"
censor_var <- "PFS_Event"
biomarker_vars <- c("GeneA_cat2", "GeneB_cat2")
treatment_var = "Treatment_Arm"
wrapper_log_rank_test_biomarker(data, tte_var = tte_var, censor_var = censor_var,
biomarker_vars = biomarker_vars, treatment_var = treatment_var)
Biomarker effect on PFS. Unstratified log-rank test.
Treatment Arm
|
Biomarker
|
Subgroup
|
Total N
|
Total Events
|
N
|
Events
|
MST
|
MST 95% CI
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
CTRL
|
GeneA cat2
|
low
|
204
|
85
|
104
|
41 (39.4%)
|
NA
|
(76.9 - NA)
|
|
|
0.8211
|
0.8917
|
|
|
high
|
204
|
85
|
100
|
44 (44.0%)
|
83.1
|
(82.1 - NA)
|
1.05
|
(0.69 - 1.61)
|
|
|
TRT
|
GeneA cat2
|
low
|
196
|
83
|
96
|
40 (41.7%)
|
99.9
|
(82.2 - NA)
|
|
|
0.8917
|
0.8917
|
|
|
high
|
196
|
83
|
100
|
43 (43.0%)
|
100.3
|
(81.6 - NA)
|
0.97
|
(0.63 - 1.49)
|
|
|
CTRL
|
GeneB cat2
|
low
|
204
|
85
|
96
|
35 (36.5%)
|
98.3
|
(82.6 - NA)
|
|
|
0.0120 *
|
0.0478 *
|
|
|
high
|
204
|
85
|
108
|
50 (46.3%)
|
80.4
|
(63.6 - NA)
|
1.73
|
(1.12 - 2.68)
|
|
|
TRT
|
GeneB cat2
|
low
|
196
|
83
|
104
|
38 (36.5%)
|
NA
|
(91.0 - NA)
|
|
|
0.2437
|
0.4874
|
|
|
high
|
196
|
83
|
92
|
45 (48.9%)
|
87.5
|
(82.1 - NA)
|
1.29
|
(0.84 - 1.99)
|
|
|
### Treatment effect within biomarker subgroups
data <- bdata
tte_var <- "PFS"
censor_var <- "PFS_Event"
treatment_var = "Treatment_Arm"
biomarker_vars <- c("GeneA_cat2", "GeneB_cat2")
wrapper_log_rank_test_treatment(data, tte_var = tte_var, censor_var = censor_var,
treatment_var = treatment_var, biomarker_vars = biomarker_vars)
Treatment effect on PFS. Unstratified log-rank test.
Biomarker
|
Biomarker Subgroup
|
Treatment Subgroup
|
Total N
|
Total Events
|
N
|
Events
|
MST
|
MST 95% CI
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
low
|
CTRL
|
200
|
81
|
104
|
41 (39.4%)
|
NA
|
(76.9 - NA)
|
|
|
0.5693
|
0.7591
|
|
|
TRT
|
200
|
81
|
96
|
40 (41.7%)
|
99.9
|
(82.2 - NA)
|
0.88
|
(0.57 - 1.37)
|
|
|
GeneA cat2
|
high
|
CTRL
|
200
|
87
|
100
|
44 (44.0%)
|
83.1
|
(82.1 - NA)
|
|
|
0.2526
|
0.5052
|
|
|
TRT
|
200
|
87
|
100
|
43 (43.0%)
|
100.3
|
(81.6 - NA)
|
0.78
|
(0.51 - 1.19)
|
|
|
GeneB cat2
|
low
|
CTRL
|
200
|
73
|
96
|
35 (36.5%)
|
98.3
|
(82.6 - NA)
|
|
|
0.9213
|
0.9213
|
|
|
TRT
|
200
|
73
|
104
|
38 (36.5%)
|
NA
|
(91.0 - NA)
|
0.98
|
(0.62 - 1.55)
|
|
|
GeneB cat2
|
high
|
CTRL
|
200
|
95
|
108
|
50 (46.3%)
|
80.4
|
(63.6 - NA)
|
|
|
0.0893 .
|
0.3574
|
|
|
TRT
|
200
|
95
|
92
|
45 (48.9%)
|
87.5
|
(82.1 - NA)
|
0.70
|
(0.47 - 1.06)
|
|
|
x <- wrapper_log_rank_test_treatment(data, tte_var = tte_var, censor_var = censor_var,
treatment_var = treatment_var, biomarker_vars = biomarker_vars, print_nevent = FALSE,
print_mst = FALSE, print_total = FALSE)
bkable(x)
Treatment effect on PFS. Unstratified log-rank test.
Biomarker
|
Biomarker Subgroup
|
Treatment Subgroup
|
N
|
HR
|
HR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
low
|
CTRL
|
104
|
|
|
0.5693
|
0.7591
|
|
|
TRT
|
96
|
0.88
|
(0.57 - 1.37)
|
|
|
GeneA cat2
|
high
|
CTRL
|
100
|
|
|
0.2526
|
0.5052
|
|
|
TRT
|
100
|
0.78
|
(0.51 - 1.19)
|
|
|
GeneB cat2
|
low
|
CTRL
|
96
|
|
|
0.9213
|
0.9213
|
|
|
TRT
|
104
|
0.98
|
(0.62 - 1.55)
|
|
|
GeneB cat2
|
high
|
CTRL
|
108
|
|
|
0.0893 .
|
0.3574
|
|
|
TRT
|
92
|
0.70
|
(0.47 - 1.06)
|
|
|
Logistic regression
### Biomarker effect
data <- bdata
response_var <- "ORR"
biomarker_vars <- c("GeneA_cat2", "GeneA")
treatment_var = "Treatment_Arm"
adjustment_vars <- "IPI"
wrapper_logistic_regression_biomarker(data, response_var = response_var, biomarker_vars = biomarker_vars,
adjustment_vars = adjustment_vars, treatment_var = treatment_var)
Biomarker effect on ORR. Adjusted analysis. Logistic regression model includes the biomarker and IPI.
Treatment Arm
|
Biomarker
|
Subgroup
|
Total N
|
N
|
NR
|
R
|
R 95% CI
|
OR
|
OR 95% CI
|
P-value
|
Adj. P-value
|
CTRL
|
GeneA cat2
|
low
|
204
|
104
|
14 (13.5%)
|
90 (86.5%)
|
(78.45 - 92.44)
|
|
|
|
|
|
|
high
|
204
|
100
|
17 (17.0%)
|
83 (83.0%)
|
(74.18 - 89.77)
|
0.83
|
(0.38 - 1.83)
|
0.6467
|
0.6467
|
TRT
|
GeneA cat2
|
low
|
196
|
96
|
18 (18.8%)
|
78 (81.2%)
|
(72.00 - 88.49)
|
|
|
|
|
|
|
high
|
196
|
100
|
15 (15.0%)
|
85 (85.0%)
|
(76.47 - 91.35)
|
1.32
|
(0.62 - 2.84)
|
0.4706
|
0.6275
|
CTRL
|
GeneA
|
|
204
|
|
|
|
|
0.86
|
(0.60 - 1.25)
|
0.4412
|
0.6275
|
TRT
|
GeneA
|
|
196
|
|
|
|
|
1.21
|
(0.80 - 1.83)
|
0.3735
|
0.6275
|
### Treatment effect within biomarker subgroups
data <- bdata
response_var <- "ORR"
treatment_var = "Treatment_Arm"
biomarker_vars <- c("GeneA_cat2", "GeneB_cat2")
adjustment_vars <- "IPI"
wrapper_logistic_regression_treatment(data, response_var = response_var, treatment_var = treatment_var,
biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars)
Treatment effect on ORR. Adjusted analysis. Logistic regression model includes the treatment and IPI.
Biomarker
|
Biomarker Subgroup
|
Treatment Subgroup
|
Total N
|
N
|
NR
|
R
|
R 95% CI
|
OR
|
OR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
low
|
CTRL
|
200
|
104
|
14 (13.5%)
|
90 (86.5%)
|
(78.45 - 92.44)
|
|
|
|
|
|
|
TRT
|
200
|
96
|
18 (18.8%)
|
78 (81.2%)
|
(72.00 - 88.49)
|
0.67
|
(0.31 - 1.44)
|
0.3098
|
0.6195
|
GeneA cat2
|
high
|
CTRL
|
200
|
100
|
17 (17.0%)
|
83 (83.0%)
|
(74.18 - 89.77)
|
|
|
|
|
|
|
TRT
|
200
|
100
|
15 (15.0%)
|
85 (85.0%)
|
(76.47 - 91.35)
|
1.27
|
(0.58 - 2.79)
|
0.5434
|
0.6679
|
GeneB cat2
|
low
|
CTRL
|
200
|
96
|
8 (8.3%)
|
88 (91.7%)
|
(84.24 - 96.33)
|
|
|
|
|
|
|
TRT
|
200
|
104
|
15 (14.4%)
|
89 (85.6%)
|
(77.33 - 91.70)
|
0.57
|
(0.22 - 1.42)
|
0.2261
|
0.6195
|
GeneB cat2
|
high
|
CTRL
|
200
|
108
|
23 (21.3%)
|
85 (78.7%)
|
(69.78 - 86.00)
|
|
|
|
|
|
|
TRT
|
200
|
92
|
18 (19.6%)
|
74 (80.4%)
|
(70.85 - 87.97)
|
1.17
|
(0.58 - 2.36)
|
0.6679
|
0.6679
|
### Treatment-biomarker interaction effect
data <- bdata
response_var <- "ORR"
treatment_var = "Treatment_Arm"
biomarker_vars <- c("GeneA_cat2", "GeneA")
adjustment_vars <- "IPI"
wrapper_logistic_regression_interaction(data, response_var = response_var, treatment_var = treatment_var,
biomarker_vars = biomarker_vars, adjustment_vars = adjustment_vars)
Effect of interaction between biomarker and treatment on ORR.Adjusted analysis. Logistic regression model includes the biomarker, treatment and IPI.
Biomarker
|
Biomarker Effect
|
Treatment Effect
|
Total n
|
OR
|
OR 95% CI
|
P-value
|
Adj. P-value
|
GeneA cat2
|
high vs low
|
TRT vs CTRL
|
400
|
1.83
|
(0.62 - 5.39)
|
0.2766
|
0.2766
|
GeneA
|
|
TRT vs CTRL
|
400
|
1.42
|
(0.82 - 2.48)
|
0.2113
|
0.2766
|
Barplot response
### Biomarker effect
data <- bdata
response_var <- "ORR"
biomarker_var <- "GeneA_cat2"
treatment_var = "Treatment_Arm"
wrapper_bar_plot_biomarker(data, response_var = response_var, biomarker_var = biomarker_var,
treatment_var = treatment_var, variable_names = variable_names, less_legends = TRUE,
ylab = "ORR Proportion (%)", strat1_label_both = FALSE, legend_colors_title = FALSE)
### Treatment effect
data <- bdata
response_var <- "ORR"
biomarker_var <- "GeneA_cat2"
treatment_var = "Treatment_Arm"
wrapper_bar_plot_treatment(data, response_var = response_var, biomarker_var = biomarker_var,
treatment_var = treatment_var, variable_names = variable_names, less_legends = TRUE,
ylab = "R Proportion (%)", strat1_label_both = FALSE, legend_colors_title = FALSE,
skip_levels = c("NR"), legend_position = "none")
Barplot
data <- bdata
x_var = "GeneA_cat2"
y_var = "Response"
wrapper_bar_plot_core(data = data, x_var = x_var, y_var = y_var)
data <- bdata
x_var = "GeneA_cat2"
y_var = "Response"
skip_levels <- c("NE", "PD", "SD")
show_subtotal_proportions <- TRUE
wrapper_bar_plot_core(data = data, x_var = x_var, y_var = y_var, show_subtotal_proportions = show_subtotal_proportions,
skip_levels = skip_levels, ylim = c(0, 100))
Stratified
data <- bdata
x_var = "GeneA_cat2"
y_var = "Response"
facet_var <- "Treatment_Arm"
wrapper_bar_plot_core(data = data, x_var = x_var, y_var = y_var, facet_var = facet_var)
data <- bdata
x_var = "GeneA_cat2"
y_var = "Response"
strat1_var = "Treatment_Arm"
strat2_var = "Cell_Of_Origin"
wrapper_bar_plot_core_strat(data = data, x_var = x_var, y_var = y_var, strat1_var = strat1_var,
strat2_var = strat2_var)
wrapper_bar_plot_core_strat(data = data, x_var = x_var, y_var = y_var, strat1_var = strat1_var,
strat2_var = strat2_var, less_legends = TRUE)
Complex boxplot
data <- bdata
y_vars <- c("GeneA", "GeneB", "GeneC")
x_var = "Cell_Of_Origin"
facet_var = NULL
dodge_var = NULL
wrapper_box_plot_yvars_core_strat(data, y_vars = y_vars, x_var = x_var, facet_var = facet_var,
dodge_var = dodge_var)
data <- bdata
y_vars <- c("GeneA", "GeneB", "GeneC")
x_var = NULL
facet_var = NULL
dodge_var = "Cell_Of_Origin"
wrapper_box_plot_yvars_core_strat(data, y_vars = y_vars, x_var = x_var, facet_var = facet_var,
dodge_var = dodge_var)
Characteristics of ITT and BEP
data <- bdata
strat_var <- "Treatment_Arm"
covariate_vars <- c("Age", "IPI")
wrapper_characteristics_core(data, strat_var = strat_var, covariate_vars = covariate_vars)
|
Treatment Arm
|
Covariate
|
CTRL
|
TRT
|
Age
|
|
|
N
|
252
|
248
|
NAs
|
0
|
0
|
Median
|
63.00
|
63.00
|
Mean
|
60.73
|
61.05
|
IPI
|
|
|
N
|
252
|
248
|
NAs
|
0
|
0
|
Low
|
52 (20.63%)
|
48 (19.35%)
|
Low-Intermediate
|
95 (37.70%)
|
88 (35.48%)
|
High-Intermediate
|
71 (28.17%)
|
64 (25.81%)
|
High
|
34 (13.49%)
|
48 (19.35%)
|
bep_vars <- "BEP_RNAseq"
covariate_vars <- c("Age", "IPI")
treatment_var <- "Treatment_Arm"
itt_name = "ITT"
wrapper_characteristics_bep(data, covariate_vars = covariate_vars, bep_vars = bep_vars,
treatment_var = treatment_var, itt_name = itt_name)
Covariate
|
ITT
|
ITT : CTRL
|
ITT : TRT
|
BEP RNAseq
|
BEP RNAseq : CTRL
|
BEP RNAseq : TRT
|
Age
|
|
|
|
|
|
|
N
|
500
|
252
|
248
|
400
|
204
|
196
|
NAs
|
0
|
0
|
0
|
0
|
0
|
0
|
Median
|
63.00
|
63.00
|
63.00
|
63.00
|
63.00
|
63.00
|
Mean
|
60.89
|
60.73
|
61.05
|
61.71
|
61.50
|
61.93
|
IPI
|
|
|
|
|
|
|
N
|
500
|
252
|
248
|
400
|
204
|
196
|
NAs
|
0
|
0
|
0
|
0
|
0
|
0
|
Low
|
100 (20.00%)
|
52 (20.63%)
|
48 (19.35%)
|
79 (19.75%)
|
44 (21.57%)
|
35 (17.86%)
|
Low-Intermediate
|
183 (36.60%)
|
95 (37.70%)
|
88 (35.48%)
|
147 (36.75%)
|
73 (35.78%)
|
74 (37.76%)
|
High-Intermediate
|
135 (27.00%)
|
71 (28.17%)
|
64 (25.81%)
|
108 (27.00%)
|
59 (28.92%)
|
49 (25.00%)
|
High
|
82 (16.40%)
|
34 (13.49%)
|
48 (19.35%)
|
66 (16.50%)
|
28 (13.73%)
|
38 (19.39%)
|
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-apple-darwin20
## Running under: macOS Sonoma 14.6.1
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: Europe/Zurich
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] BiomarkerWrappers_0.0.0.60 ggplot2_3.5.1
## [3] kableExtra_1.4.0 rmarkdown_2.27
## [5] knitr_1.47
##
## loaded via a namespace (and not attached):
## [1] polynom_1.4-1 gridExtra_2.3 formatR_1.14
## [4] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65
## [7] GetoptLong_1.0.5 matrixStats_1.3.0 compiler_4.4.1
## [10] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5
## [13] stringr_1.5.1 pkgconfig_2.0.3 shape_1.4.6.1
## [16] crayon_1.5.3 fastmap_1.2.0 backports_1.5.0
## [19] labeling_0.4.3 KMsurv_0.1-5 utf8_1.2.4
## [22] markdown_1.13 forestplot_3.1.3 ggbeeswarm_0.7.2
## [25] ragg_1.3.2 purrr_1.0.2 xfun_0.45
## [28] cachem_1.1.0 jsonlite_1.8.8 highr_0.11
## [31] broom_1.0.6 parallel_4.4.1 cluster_2.1.6
## [34] R6_2.5.1 bslib_0.7.0 stringi_1.8.4
## [37] RColorBrewer_1.1-3 limma_3.60.3 car_3.1-2
## [40] jquerylib_0.1.4 Rcpp_1.0.12 iterators_1.0.14
## [43] zoo_1.8-12 IRanges_2.38.0 Matrix_1.7-0
## [46] splines_4.4.1 tidyselect_1.2.1 rstudioapi_0.16.0
## [49] abind_1.4-5 yaml_2.3.8 ggtext_0.1.2
## [52] doParallel_1.0.17 codetools_0.2-20 lattice_0.22-6
## [55] tibble_3.2.1 plyr_1.8.9 withr_3.0.0
## [58] evaluate_0.24.0 desc_1.4.3 survival_3.7-0
## [61] ggpp_0.5.8 xml2_1.3.6 circlize_0.4.16
## [64] survMisc_0.5.6 pillar_1.9.0 ggpubr_0.6.0
## [67] carData_3.0-5 checkmate_2.3.1 foreach_1.5.2
## [70] stats4_4.4.1 generics_0.1.3 S4Vectors_0.42.0
## [73] commonmark_1.9.1 munsell_0.5.1 scales_1.3.0
## [76] xtable_1.8-4 glue_1.7.0 survminer_0.4.9
## [79] tools_4.4.1 data.table_1.15.4 ggsignif_0.6.4
## [82] fs_1.6.4 cowplot_1.1.3 grid_4.4.1
## [85] tidyr_1.3.1 colorspace_2.1-0 beeswarm_0.4.0
## [88] vipor_0.4.7 cli_3.6.3 km.ci_0.5-6
## [91] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2
## [94] svglite_2.1.3 ComplexHeatmap_2.20.0 dplyr_1.1.4
## [97] gtable_0.3.5 rstatix_0.7.2 sass_0.4.9
## [100] digest_0.6.36 BiocGenerics_0.50.0 rjson_0.2.21
## [103] htmlwidgets_1.6.4 farver_2.1.2 memoise_2.0.1
## [106] htmltools_0.5.8.1 pkgdown_2.0.9 lifecycle_1.0.4
## [109] GlobalOptions_0.1.2 statmod_1.5.0 gridtext_0.1.5
## [112] MASS_7.3-61