Title: | Generalized Competing Event Model |
---|---|
Description: | Generalized competing event model based on Cox PH model and Fine-Gray model. This function is designed to develop optimized risk-stratification methods for competing risks data, such as described in: 1. Carmona R, Gulaya S, Murphy JD, Rose BS, Wu J, Noticewala S,McHale MT, Yashar CM, Vaida F, and Mell LK (2014) <DOI:10.1016/j.ijrobp.2014.03.047>. 2. Carmona R, Zakeri K, Green G, Hwang L, Gulaya S, Xu B, Verma R, Williamson CW, Triplett DP, Rose BS, Shen H, Vaida F, Murphy JD, and Mell LK (2016) <DOI:10.1200/JCO.2015.65.0739>. 3. Lunn, Mary, and Don McNeil (1995) <DOI:10.2307/2532940>. |
Authors: | Hanjie Shen <[email protected]>, Ruben Carmona <[email protected]>, Loren Mell <[email protected]> |
Maintainer: | Hanjie Shen <[email protected]> |
License: | GPL (>= 2) |
Version: | 19.05.24 |
Built: | 2024-11-18 06:29:55 UTC |
Source: | CRAN |
Fit a generalized competing event model by using Cox proportational hazards regression model
with coxph
function in survival
package.
gcecox(Time, Ind, Cov, N, M, t)
gcecox(Time, Ind, Cov, N, M, t)
Time |
survival time for event(s) of interest. |
Ind |
the status indicators including the primary event(s) of interest, competing event(s) of interest, and all kind of event(s) of interest, normally 0 = alive, 1 = dead from the specific event(s) of interest. |
Cov |
a data frame containing all covariates. |
N |
the number of bootstrap replicates |
M |
the number of bins for |
t |
survival time point for |
The gcerisk package is designed to help investigators optimize risk-stratification methods for competing risks data, such as described in
Carmona R, Gulaya S, Murphy JD, Rose BS, Wu J, Noticewala S, McHale MT, Yashar CM, Vaida F, Mell LK. Validated competing event model for the stage I-II endometrial cancer population.
Int J Radiat Oncol Biol Phys. 2014;89:888-98. Standard risk models typically estimate the effects of one or more covariates on either
a single event of interest (such as overall mortality, or disease recurrence), or a composite set of events (e.g., disease-free survival, which combines events of interest with death from any cause).
This method is inefficient in stratifying patients who may be simultaneously at high risk for the event of interest but low risk for competing events, and who thus stand to gain the most from strategies to modulate the event of interest.
Compared to standard risk models, GCE models better stratify patients at higher (lower) risk for an event of interest and lower (higher) risk of competing events. GCE models focus on differentiating subjects based on
the ratio of the cumulative hazard (or cumulative hazard of the subdistribution) for the event of interest to the cumulative hazard (or cumulative hazard of the subdistribution) for all events (),
and the ratio of the cumulative hazard (or cumulative hazard of the subdistribution) for the event of interest to the cumulative hazard (or cumulative hazard of the subdistribution) for competing events (
).
The gcecox
function produces model estimates and confidence intervals from a generalized competing event model based on the Cox PH model for cause-specific hazards. The model assumes proportional hazards for the composite set of events.
The function returns and
ratio estimates for the chosen covariates, with 95% confidence intervals, and plots
and
at time t within M ordered subsets of subjects as a function of increasing risk (based on the linear predictor, i.e. the inner product of a subject's data vector and the coefficient vector).
$coef1 |
generalized competing event model coefficients (log ( |
$coef2 |
generalized competing event model coefficients (log ( |
$result1 |
result table for generalized competing event model containing exponential of coefficients ( |
$result2 |
result table for generalized competing event model containing exponential of coefficients ( |
$omegaplot1 |
|
$omegaplot2 |
|
$omegaplot3 |
plot of |
$omega |
predicted |
$omegaplus |
predicted |
$riskscore1 |
predicted risk scores for |
$riskscore2 |
predicted risk scores for |
Hanjie Shen, Ruben Carmona, Loren Mell
Carmona R, Gulaya S, Murphy JD, Rose BS, Wu J, Noticewala S, McHale MT, Yashar CM, Vaida F, Mell LK. (2014) Validated competing event model for the stage I-II endometrial cancer population. Int J Radiat Oncol Biol Phys.89:888-98.
Carmona R, Green GB, Zakeri K, Gulaya S, Xu B, Verma R, Williamson C, Rose BS, Murphy JD, Vaida F, Mell LK. (2015) Novel method to stratify elderly patients with head and neck cancer. J Clin Oncol 33 (suppl; abstr 9534).
Carmona R, Zakeri K, Green GB, Triplett DP, Murphy JD, Mell LK. (2015) Novel method to stratify elderly patients with prostate cancer. J Clin Oncol 33 (suppl; abstr 9532).
# sample data to test data(Sample) test <- Sample rm(list=setdiff(ls(), "test")) test <- transform(test, LRF_OR_DF_FLAG = as.numeric(test$LRFFLAG | test$DFFLAG)) test <- transform(test, CMFLAG = as.numeric(test$OSFLAG & !test$LRFFLAG & !test$DFFLAG)) test <- transform(test, ACMFLAG = as.numeric(test$LRF_OR_DF_FLAG | test$CMFLAG)) Time <- test$OSMO/12 Ind <- data.frame(test$LRF_OR_DF_FLAG, test$CMFLAG, test$ACMFLAG) Cov <- test[,c(3,4,6,15)] N <- 100 M <- 5 t <- 5 fit <- gcecox(Time, Ind, Cov, N, M, t)
# sample data to test data(Sample) test <- Sample rm(list=setdiff(ls(), "test")) test <- transform(test, LRF_OR_DF_FLAG = as.numeric(test$LRFFLAG | test$DFFLAG)) test <- transform(test, CMFLAG = as.numeric(test$OSFLAG & !test$LRFFLAG & !test$DFFLAG)) test <- transform(test, ACMFLAG = as.numeric(test$LRF_OR_DF_FLAG | test$CMFLAG)) Time <- test$OSMO/12 Ind <- data.frame(test$LRF_OR_DF_FLAG, test$CMFLAG, test$ACMFLAG) Cov <- test[,c(3,4,6,15)] N <- 100 M <- 5 t <- 5 fit <- gcecox(Time, Ind, Cov, N, M, t)
Fit a generalized competing event model by using Fine Gray
regression model with crr
function in cmprsk
package.
gcefg(Time, Ind, Cov, N, M, t)
gcefg(Time, Ind, Cov, N, M, t)
Time |
survival time for event(s) of interest. |
Ind |
the status indicators including the primary event(s) of interest, competing event(s) of interest, and all kind of event(s) of interest, normally 0 = alive, 1 = dead from the specific event(s) of interest. |
Cov |
a data frame containing all covariates. |
N |
the number of bootstrap replicates |
M |
the number of bins for |
t |
survival time point for |
The gcerisk package is designed to help investigators optimize risk-stratification methods for competing risks data, such as described in
Carmona R, Gulaya S, Murphy JD, Rose BS, Wu J, Noticewala S, McHale MT, Yashar CM, Vaida F, Mell LK. Validated competing event model for the stage I-II endometrial cancer population.
Int J Radiat Oncol Biol Phys. 2014;89:888-98. Standard risk models typically estimate the effects of one or more covariates on either
a single event of interest (such as overall mortality, or disease recurrence), or a composite set of events (e.g., disease-free survival, which combines events of interest with death from any cause).
This method is inefficient in stratifying patients who may be simultaneously at high risk for the event of interest but low risk for competing events, and who thus stand to gain the most from strategies to modulate the event of interest.
Compared to standard risk models, GCE models better stratify patients at higher (lower) risk for an event of interest and lower (higher) risk of competing events. GCE models focus on differentiating subjects based on
the ratio of the cumulative hazard (or cumulative hazard of the subdistribution) for the event of interest to the cumulative hazard (or cumulative hazard of the subdistribution) for all events (),
and the ratio of the cumulative hazard (or cumulative hazard of the subdistribution) for the event of interest to the cumulative hazard (or cumulative hazard of the subdistribution) for competing events (
).
The gcefg
function produces model estimates and confidence intervals from a generalized competing event model based on the Fine-Gray model for subdistribution hazards. In the subdistribution hazards model, the function H(t)= -log(1-F(t)) represents the cumulative hazard of the subdistribution for the cumulative distribution function F(t).
The model assumes proportional subdistribution hazards for the composite set of events.
The function returns and
ratio estimates for the chosen covariates, with 95% confidence intervals, and plots
and
at time t within M ordered subsets of subjects as a function of increasing risk (based on the linear predictor, i.e. the inner product of a subject's data vector and the coefficient vector).
$coef1 |
generalized competing event model coefficients (log ( |
$coef2 |
generalized competing event model coefficients (log ( |
$result1 |
result table for generalized competing event model containing exponential of coefficients ( |
$result2 |
result table for generalized competing event model containing exponential of coefficients ( |
$omegaplot1 |
|
$omegaplot2 |
|
$omegaplot3 |
plot of |
$riskscore1 |
predicted risk scores for |
$riskscore2 |
predicted risk scores for |
Hanjie Shen, Ruben Carmona, Loren Mell
Carmona R, Gulaya S, Murphy JD, Rose BS, Wu J, Noticewala S, McHale MT, Yashar CM, Vaida F, Mell LK. (2014) Validated competing event model for the stage I-II endometrial cancer population. Int J Radiat Oncol Biol Phys.89:888-98.
Carmona R, Green GB, Zakeri K, Gulaya S, Xu B, Verma R, Williamson C, Rose BS, Murphy JD, Vaida F, Mell LK. (2015) Novel method to stratify elderly patients with head and neck cancer. J Clin Oncol 33 (suppl; abstr 9534).
Carmona R, Zakeri K, Green GB, Triplett DP, Murphy JD, Mell LK. (2015) Novel method to stratify elderly patients with prostate cancer. J Clin Oncol 33 (suppl; abstr 9532).
# sample data to test data(Sample) test <- Sample d <- trunc(dim(test)[1]*0.1) set.seed(seed=2017) s <- sample(dim(test)[1],d,replace = FALSE) test <- test[s,] rm(list=setdiff(ls(), "test")) test <- transform(test, LRF_OR_DF_FLAG = as.numeric(test$LRFFLAG | test$DFFLAG)) test <- transform(test, LRF_OR_DF_MO = pmin(test$LRFMO, test$DFMO)) test <- transform(test, CMFLAG = as.numeric(test$OSFLAG & !test$LRFFLAG & !test$DFFLAG)) test <- transform(test, ACMFLAG = as.numeric(test$LRF_OR_DF_FLAG | test$CMFLAG)) test <- transform(test, ACM_MO = pmin(test$LRF_OR_DF_MO, test$OSMO)) cod1 <- test$ACMFLAG cod1[test$LRF_OR_DF_FLAG == 1] <- 1 cod1[test$CMFLAG == 1] <- 2 cod2 <- test$ACMFLAG Ind <- data.frame(cod1 = cod1, cod2 = cod2) Time <- test$OSMO/12 Cov <- test[,c(3,4,6,15)] N <- 50 M <- 5 t <- 5 fit <- gcefg(Time, Ind, Cov, N, M, t)
# sample data to test data(Sample) test <- Sample d <- trunc(dim(test)[1]*0.1) set.seed(seed=2017) s <- sample(dim(test)[1],d,replace = FALSE) test <- test[s,] rm(list=setdiff(ls(), "test")) test <- transform(test, LRF_OR_DF_FLAG = as.numeric(test$LRFFLAG | test$DFFLAG)) test <- transform(test, LRF_OR_DF_MO = pmin(test$LRFMO, test$DFMO)) test <- transform(test, CMFLAG = as.numeric(test$OSFLAG & !test$LRFFLAG & !test$DFFLAG)) test <- transform(test, ACMFLAG = as.numeric(test$LRF_OR_DF_FLAG | test$CMFLAG)) test <- transform(test, ACM_MO = pmin(test$LRF_OR_DF_MO, test$OSMO)) cod1 <- test$ACMFLAG cod1[test$LRF_OR_DF_FLAG == 1] <- 1 cod1[test$CMFLAG == 1] <- 2 cod2 <- test$ACMFLAG Ind <- data.frame(cod1 = cod1, cod2 = cod2) Time <- test$OSMO/12 Cov <- test[,c(3,4,6,15)] N <- 50 M <- 5 t <- 5 fit <- gcefg(Time, Ind, Cov, N, M, t)
A sample dataset used to test functions in package.
Sample
Sample
A data frame with 479 rows and 16 variables:
index variable
covariate
covariate
covariate
covariate
covariate
event variable
event variable
event variable
event variable
time variable
time variable
time variable
time variable
covariate
covariate