Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(curesurv)
## -----------------------------------------------------------------------------
fit_ad_tneh_nocov <- curesurv(Surv(time_obs, event) ~ 1,
pophaz = "ehazard",
cumpophaz = "cumehazard",
model = "nmixture", dist = "tneh",
link_tau = "linear",
data = testiscancer,
method_opt = "L-BFGS-B")
## -----------------------------------------------------------------------------
summary(fit_ad_tneh_nocov)
## -----------------------------------------------------------------------------
newdata1 <- with(testiscancer,
expand.grid(event = 0, time_obs = seq(0.1,10,0.1)))
p_28 <- predict(object = fit_ad_tneh_nocov, newdata = newdata1)
## -----------------------------------------------------------------------------
plot(p_28)
## -----------------------------------------------------------------------------
p_28[1,c("lower_bound_pi_tneh","cured","upper_bound_pi_tneh")]
## -----------------------------------------------------------------------------
p_28[1,c("lower_bound_TTC_tneh","time_to_cure_ttc","upper_bound_TTC_tneh")]
## -----------------------------------------------------------------------------
testiscancer$age_crmin <- (testiscancer$age- min(testiscancer$age)) /
sd(testiscancer$age)
## -----------------------------------------------------------------------------
oldpar<-par(no.readonly = TRUE)
par(mfrow=c(1,1))
plot(testiscancer$age,testiscancer$age_crmin,type="l",xlab="age",ylab="age_crmin")
text(x=min(testiscancer$age),y=0,col="blue",round(min(testiscancer$age),2))
lines(x=rep(min(testiscancer$age),2),y=c(-1,0),col="blue",lty=2)
lines(x=c(-1,min(testiscancer$age)),y=c(0,0),col="blue",lty=2)
text(x=min(testiscancer$age)+sd(testiscancer$age),y=1.2,col="red",round(sd(testiscancer$age)+min(testiscancer$age),2))
lines(x=rep(min(testiscancer$age)+sd(testiscancer$age),2),y=c(-1,1),col="red",lty=2)
lines(x=c(-1,min(testiscancer$age)+sd(testiscancer$age)),y=c(1,1),col="red",lty=2)
par(oldpar)
## -----------------------------------------------------------------------------
fit_m1_ad_tneh <- curesurv(Surv(time_obs, event) ~ z_tau(age_crmin) +
z_alpha(age_crmin),
pophaz = "ehazard",
cumpophaz = "cumehazard",
model = "nmixture", dist = "tneh",
link_tau = "linear",
data = testiscancer,
method_opt = "L-BFGS-B")
## -----------------------------------------------------------------------------
summary(fit_m1_ad_tneh)
## -----------------------------------------------------------------------------
#time varying prediction for patient with age mean
newdata1 <- with(testiscancer,
expand.grid(event = 0,
age_crmin = mean(age_crmin),
time_obs = seq(0.001,10,0.1)))
pred_agemean <- predict(object = fit_m1_ad_tneh, newdata = newdata1)
## -----------------------------------------------------------------------------
#time varying prediction for patient with age max
newdata2 <- with(testiscancer,
expand.grid(event = 0,
age_crmin = max(age_crmin),
time_obs = seq(0.001,10,0.1)))
pred_agemax <- predict(object = fit_m1_ad_tneh, newdata = newdata2)
## -----------------------------------------------------------------------------
# predictions at time 2 years with varying age
newdata3 <- with(testiscancer,
expand.grid(event = 0,
age_crmin = seq(min(testiscancer$age_crmin),
max(testiscancer$age_crmin), 0.1),
time_obs = 2))
pred_age_val <- predict(object = fit_m1_ad_tneh, newdata = newdata3)
val_age <- seq(min(testiscancer$age_crmin),
max(testiscancer$age_crmin),
0.1) * sd(testiscancer$age) + min(testiscancer$age)
## -----------------------------------------------------------------------------
par(mfrow = c(2, 2),cex = 1.0)
plot(pred_agemax$time,pred_agemax$ex_haz,type = "l",lty = 1,lwd = 2,
xlab = "Time since diagnosis", ylab = "excess hazard")
lines(pred_agemean$time,pred_agemean$ex_haz,type = "l",lty = 2,lwd = 2)
legend("topright",horiz = FALSE,
legend = c("hE(t) age.max = 79.9", "hE(t) age.mean = 50.8"),
col = c("black", "black"),lty = c(1, 2, 1, 1, 2, 2))
grid()
plot(pred_agemax$time,pred_agemax$netsurv,type = "l",lty = 1,lwd = 2,
ylim = c(0, 1),xlab = "Time since diagnosis",ylab = "net survival")
lines(pred_agemean$time,pred_agemean$netsurv,type = "l",lty = 2,lwd = 2)
legend("bottomleft",horiz = FALSE,
legend = c("Sn(t) age.max = 79.9", "Sn(t) age.mean = 50.8"),
col = c("black", "black"),lty = c(1, 2, 1, 1, 2, 2))
grid()
plot(pred_agemax$time,pred_agemax$pt_cure,type = "l",lty = 1,lwd = 2,ylim = c(0, 1),
xlab = "Time since diagnosis",ylab = "probability of being cured P(t)")
lines(pred_agemean$time,pred_agemean$pt_cure,type = "l",lty = 2,lwd = 2)
abline(v = pred_agemean$tau[1],lty = 2,lwd = 2,col = "blue")
abline(v = pred_agemean$time_to_cure_ttc[1],lty = 2,lwd = 2,col = "red")
abline(v = pred_agemax$tau[1],lty = 1,lwd = 2,col = "blue")
abline(v = pred_agemax$time_to_cure_ttc[1],lty = 1,lwd = 2,col = "red")
grid()
legend("bottomright",horiz = FALSE,
legend = c("P(t) age.max = 79.9","P(t) age.mean = 50.8",
"TNEH age.max = 79.9","TTC age.max = 79.9",
"TNEH age.mean = 50.8","TTC age.mean = 50.8"),
col = c("black", "black", "blue", "red", "blue", "red"),
lty = c(1, 2, 1, 1, 2, 2))
par(oldpar)
## -----------------------------------------------------------------------------
par(mfrow=c(2,2))
plot(val_age,pred_age_val$ex_haz,
type = "l",lty=1, lwd=2,
xlab = "age",ylab = "excess hazard 2y after diagnosis")
grid()
plot(val_age,pred_age_val$netsurv,
type = "l", lty=1,lwd=2,ylim=c(0,1),
xlab = "age", ylab = "net survival 2y after diagnosis")
grid()
plot(val_age,pred_age_val$pt_cure, type = "l", lty=1, lwd=2,ylim=c(0,1),
xlab = "age",ylab = "P(t) 2y after diagnosis")
grid()
plot(val_age,pred_age_val$cured, type = "l", lty=1, lwd=2,ylim=c(0,1),
xlab = "age", ylab = "cure proportion")
grid()
par(oldpar)
## -----------------------------------------------------------------------------
#| echo: true
#| label: withtauonly
#| warning: false
#| message: false
fit_ad_tneh_covtau <- curesurv(
Surv(time_obs, event) ~ z_tau(age_cr),
pophaz = "ehazard",
cumpophaz = "cumehazard",
model = "nmixture",
dist = "tneh",
link_tau = "linear",
data = testiscancer,
method_opt = "L-BFGS-B"
)
## -----------------------------------------------------------------------------
summary(fit_ad_tneh_covtau)
## -----------------------------------------------------------------------------
summary(testiscancer$age_cr)
summary(testiscancer$age)
newdata2 <- with(testiscancer,
expand.grid(event = 0,
time_obs = seq(0.1, 10, 0.1),
age_cr = c(-0.9358, 0.0276, 0.9525) ))
newdata2_1stqu <- newdata2[newdata2$age_cr==-0.9358,]
newdata2_2rdqu <- newdata2[newdata2$age_cr==0.0276,]
newdata2_3rdqu <- newdata2[newdata2$age_cr==0.9525,]
p1stqu <- predict(object = fit_ad_tneh_covtau, newdata = newdata2_1stqu)
p2rdqu <- predict(object = fit_ad_tneh_covtau, newdata = newdata2_2rdqu)
p3rdqu <- predict(object = fit_ad_tneh_covtau, newdata = newdata2_3rdqu)
## -----------------------------------------------------------------------------
par(mfrow=c(2,2))
plot(p1stqu,
main = "Excess hazard for age 33.3",
fun = "haz")
plot(p2rdqu,
fun = "haz",
main = "Excess hazard for age 51.57")
plot(p3rdqu,
fun = "haz",
main = "Excess hazard for age 69.11")
par(oldpar)
## -----------------------------------------------------------------------------
#| echo: true
#| label: only_covariate_on_alpha
#| message: false
#| warning: false
fit_ad_tneh_covalpha <-
curesurv(
Surv(time_obs, event) ~ z_alpha(age_cr),
pophaz = "ehazard",
cumpophaz = "cumehazard",
model = "nmixture",
dist = "tneh",
link_tau = "linear",
data = testiscancer,
method_opt = "L-BFGS-B"
)
## -----------------------------------------------------------------------------
summary(fit_ad_tneh_covalpha)
## -----------------------------------------------------------------------------
p4_33.3 <- predict(object = fit_ad_tneh_covalpha,
newdata = newdata2_1stqu)
p4_51.6 <- predict(object = fit_ad_tneh_covalpha,
newdata = newdata2_2rdqu)
p4_69.1 <- predict(object = fit_ad_tneh_covalpha,
newdata = newdata2_3rdqu)
## -----------------------------------------------------------------------------
par(mfrow=c(2,2))
plot(p4_33.3,
main = "Pt_cure for age 33.3",
fun = "pt_cure")
plot(p4_51.6,
fun = "pt_cure",
main = "Pt_cure for age 51.6")
plot(p4_69.1,
fun = "pt_cure",
main = "Pt_cure for age 69.1")
par(oldpar)
## -----------------------------------------------------------------------------
AIC(fit_ad_tneh_nocov,fit_ad_tneh_covalpha,fit_ad_tneh_covtau,fit_m1_ad_tneh)
## -----------------------------------------------------------------------------
date()
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.