Import data:

load("./6Clusters.RData")

Remove Patients without Extra.Mets:

data.analysis <- data.with.clusts %>% filter(!is.na(Extra.Mets))

data.analysis.id <- data.analysis[!duplicated(data.analysis$Patient),]

Extended Cox Model

Model OMIT/LOCF

data.no.missing <- data.analysis %>% filter(is.missing == FALSE)

missings.extended <- extended.data.frame(data = data.no.missing, "Patient", "time", "NTX", "Death.Status", "Survival.after.begining.ZA.mo")

missings.extended.fit <- coxph(Surv(start, stop, Death.Status) ~ Age.Diagnosis + Sex +
                           Extra.Mets + log(NTX), data = missings.extended)

summary(missings.extended.fit)
## Call:
## coxph(formula = Surv(start, stop, Death.Status) ~ Age.Diagnosis + 
##     Sex + Extra.Mets + log(NTX), data = missings.extended)
## 
##   n= 524, number of events= 101 
## 
##                   coef exp(coef) se(coef)     z Pr(>|z|)   
## Age.Diagnosis 0.017087  1.017234 0.007653 2.233  0.02557 * 
## Sex           0.304946  1.356552 0.220031 1.386  0.16577   
## Extra.Mets    0.648511  1.912690 0.229305 2.828  0.00468 **
## log(NTX)      0.140077  1.150362 0.080523 1.740  0.08193 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##               exp(coef) exp(-coef) lower .95 upper .95
## Age.Diagnosis     1.017     0.9831    1.0021     1.033
## Sex               1.357     0.7372    0.8813     2.088
## Extra.Mets        1.913     0.5228    1.2203     2.998
## log(NTX)          1.150     0.8693    0.9824     1.347
## 
## Concordance= 0.6  (se = 0.033 )
## Rsquare= 0.037   (max possible= 0.787 )
## Likelihood ratio test= 19.71  on 4 df,   p=0.0005695
## Wald test            = 18.58  on 4 df,   p=0.0009522
## Score (logrank) test = 19  on 4 df,   p=0.0007859

Model OCS

ocs.extended <- extended.data.frame(data = data.analysis, "Patient", "time", "NTX", "Death.Status", "Survival.after.begining.ZA.mo")

ocs.extended.fit <- coxph(Surv(start, stop, Death.Status) ~ Age.Diagnosis + Sex +
                           Extra.Mets + log(NTX), data = ocs.extended)

summary(ocs.extended.fit)
## Call:
## coxph(formula = Surv(start, stop, Death.Status) ~ Age.Diagnosis + 
##     Sex + Extra.Mets + log(NTX), data = ocs.extended)
## 
##   n= 698, number of events= 101 
## 
##                   coef exp(coef) se(coef)     z Pr(>|z|)   
## Age.Diagnosis 0.017209  1.017358 0.007578 2.271  0.02316 * 
## Sex           0.296267  1.344829 0.219068 1.352  0.17625   
## Extra.Mets    0.645800  1.907513 0.228948 2.821  0.00479 **
## log(NTX)      0.162920  1.176942 0.082967 1.964  0.04957 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##               exp(coef) exp(-coef) lower .95 upper .95
## Age.Diagnosis     1.017     0.9829    1.0024     1.033
## Sex               1.345     0.7436    0.8754     2.066
## Extra.Mets        1.908     0.5242    1.2178     2.988
## log(NTX)          1.177     0.8497    1.0003     1.385
## 
## Concordance= 0.605  (se = 0.033 )
## Rsquare= 0.029   (max possible= 0.687 )
## Likelihood ratio test= 20.52  on 4 df,   p=0.0003949
## Wald test            = 19.19  on 4 df,   p=0.0007221
## Score (logrank) test = 19.61  on 4 df,   p=0.000595