library(MedicalRiskPredictionModels) prepareExamples()
# Chunk1 # conventional model fit1 <- lrm(ohss~ant.foll+cyclelen+smoking+age,data=ivftrain) # experimental model fit2 <- lrm(ohss~rcs(ant.foll,3)*smoking+cyclelen+age+fsh+bmi+ovolume,data=ivftrain,penalty=10) # head to head comparison in test dataset x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=ivftest, formula=ohss~1, summary=c("risks","ipa"), plots=c("roc","cal")) # scatterplot showing predicted risks of the rival models plotRisk(x, col=c("gray22","black"), xlab="Conventional model: risk of OHSS", ylab="Experimental model: risk of OHSS")
# Chunk2 summary(x,what="score")
# Chunk3 summary(x,what="contrasts")
# Chunk4 plotCalibration(x,auc.in.legend=1,brier.in.legend=1)
# Chunk5 plotROC(x)
# Chunk6 dd <- datadist(octrain.cc) options(datadist="dd") fit1 <- cph(Surv(survtime,survstatus)~rcs(age,3)+rcs(tumorthickness,3)+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion,data=octrain.cc,x=TRUE,surv=TRUE) surv <- Survival(fit1) plot(nomogram(fit1,fun=list(function(x) 1-surv(60, x), function(x) 1-surv(120, x)), funlabel=c("5 year risk","10 year risk")))
# Chunk7 set.seed(1972) fit2 <- rfsrc(Surv(survtime,survstatus)~ age+tumorthickness+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion,data=octrain.cc)
# Chunk8 fit1 <- cph(Surv(survtime,survstatus)~rcs(age,3)+tumorthickness+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion, data=octrain.cc, x=TRUE, y=TRUE, surv=TRUE) set.seed(1972) fit2 <- rfsrc(Surv(survtime,survstatus)~ age+tumorthickness+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion,data=octrain.cc) x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=octest.cc, formula=Surv(survtime,survstatus)~1, times=c(12,60,120,180), summary=c("risks","IPA"), plots=c("cali","roc")) summary(x,what="score")[[1]]
# Chunk9 summary(x,what="contrasts")
# Chunk10 library(bootstrap) set.seed(8) # time of death or censored in the complete cases # of the training set boot.max <- bootstrap(octrain.cc$survtime, 100000, # number of bootstrap samples theta=function(x){max(x)}) # maximum time # minimum of the bootstrap maxima, divided by 12 # to convert from months to years min(boot.max$thetastar)/12
# Chunk11 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=octest.cc, formula=Surv(survtime,survstatus)~1, times=seq(12,180,6)) plotBrier(x, legend.x="bottomleft", xlab="Years from surgery", axis1.at=seq(0,180,12), axis1.labels=seq(0,15,1))
# Chunk12 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=octest.cc, formula=Surv(survtime,survstatus)~1, times=seq(12,180,6)) plotAUC(x, legend.x="bottomleft", xlab="Years from surgery", col=c("#E69F00", "#56B4E9"), axis1.at=seq(0,180,12), axis1.labels=seq(0,15,1))
# Chunk13 fit1 <- FGR(Hist(asprogtime,asprog)~age+psa+ct1+diaggs+ppb5,data=astrain,cause="progression") fit1
# Chunk14 fit2 <- CSC(list(Hist(asprogtime,asprog)~age+psa+ct1+diaggs+ppb5,Hist(asprogtime,asprog)~age),data=astrain,cause="progression") fit2
# Chunk15 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=astest, formula=Hist(asprogtime,asprog)~1, times=3,summary="risk", cause="progression") plotRisk(x, times=3, plot.main="Risk of progression within 3-years", xlab="Conventional model prediction", ylab="Experimental model prediction")
# Chunk16 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=astest, formula=Hist(asprogtime,asprog)~1, times=3, cause="progression") summary(x,what="score")
# Chunk17 summary(x,what="contrasts")
# Chunk18 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=astest, formula=Hist(asprogtime,asprog)~1, cause="progression", times=seq(.5,5,.5)) plotBrier(x)
# Chunk19 x <- Score(list("Conventional"=fit1,"Experimental"=fit2), data=astest, formula=Hist(asprogtime,asprog)~1, cause="progression", times=seq(.5,5,.5)) plotAUC(x)
# Chunk20 set.seed(1972) fit1 <- rfsrc(Surv(survtime,survstatus)~ age+tumorthickness+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion,data=octrain.cc) set.seed(1972) fit2 <- rfsrc(Surv(survtime,survstatus)~ age+tumorthickness+gender+tobacco+deep.invasion+site+race+x.posnodes+tumormaxdimension+vascular.invasion+Grade,data=octrain.cc) x <- Score(list("Conventional"=fit1,"New marker"=fit2), data=octest.cc, formula=Surv(survtime,survstatus)~1, times=60, summary=c("risks","IPA")) plotRisk(x,times=60,preclipse.shade=1,legend.ncol=3,legend.x=0,legend.y=1.1,legend.xpd=NA) mtext("Predicted risk of 5-year mortality",line=2)
# Chunk21 fit1 <- CSC(list(Hist(asprogtime,asprog)~age+psa+ct1+diaggs+ppb5,Hist(asprogtime,asprog)~age),data=astrain,cause="progression") fit2 <- CSC(list(Hist(asprogtime,asprog)~age+psa+ct1+diaggs+ppb5+erg.status,Hist(asprogtime,asprog)~age+erg.status),data=astrain,cause="progression") x <- Score(list("Conventional"=fit1,"New marker"=fit2),formula=Hist(asprogtime,asprog)~1,cause="progression",data=astest,times=3,summary="risks") plotRisk(x,times=3,xlim=c(0,1),ylim=c(0,1),preclipse.shade=1,legend.ncol=3,legend.x=0,legend.y=1,legend.xpd=NA) mtext("Risk of progression within 3-years",side=3,line=2.3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.