[R] Competing risks - calibration curve

Raja, Dr. Edwin Amalraj amalraj.raja at abdn.ac.uk
Fri Feb 16 13:29:49 CET 2018


Hi,

Sorry not to provide R-code in my previous mail.  R code is below


#install.packages("rms")
require(rms)
#install.packages("mstate")
library(mstate)
require(splines)
library(ggplot2)
library(survival)
library(splines)
#install.packages("survsim")
require(survsim)
set.seed(10)
df<-crisk.sim(n=500, foltime=10, dist.ev=rep("lnorm",2), anc.ev=c(1.48,0.53),beta0.ev = c(3.80,2.54), dist.cens = "lnorm", anc.cens = 3.5, beta0.cens = 5.42, z=NULL, beta = list(c(0.21, 0.017), c(0.37, 0.016)), x=list(c("normal",0,1), c("bern",0.564)), nsit=2)

table(status)
table(cause)

df$cause<-ifelse(is.na(df$cause),0,df$cause)
table(df$cause)

df.w<-crprep("time","cause", data=df, trans=c(1,2), cens=0, id="nid", keep=c("x", "x.1"))

with(df.w,table(failcode,status))
ddist<-datadist(df.w)
options(datadist='ddist')
mod<-cph(Surv(Tstart,Tstop,status==1)~rcs(x,3)+x.1,data=df.w, weight=weight.cens, subset=failcode==1, x=T, y=T, surv=T, time.inc = 2.5) mod2<-cph(Surv(Tstart,Tstop,status==1)~(x.1+rcs(x,3))^2,data=df.w, weight=weight.cens, subset=failcode==1, x=T, y=T, surv=T, time.inc = 2.5)
mod2

##########################  To develop nomogram
surv<-Survival(mod)
nom.sur<-nomogram(mod,fun=list(function(x) 1-surv(3,x), function(x) 1-surv(5,x), function(x) 1-surv(7,x), function(x) 1-surv(9,x)), funlabel=c("3-year event 1 Prob.", "5-year event 1 Prob.", "7-year event 1 Prob.", "9-year event 1 Prob."), lp=T) #plot(nom.sur, fun.side=list(rep(1,8), c(1,1,1,3,1,3,1,3,1,3,1,3,1,3,1),rep(1,10),rep(1,12))x)
plot(nom.sur)
#plot(nom.sur, fun.side=list(rep(1,8),c(1,1,1,3,1,3,1,3,1,3,1,3,1,3,1)))

#plot(nom.sur, fun.side=list(rep(1,10), c(1,1,1,1,3,1,3,1,3,1,3,1,3,1,3,1), rep(1,10), rep(1,10)))


#table(status)
###########################
#or f <- psm(S ~ ...)
pa <-  'polspline'%in% row.names(installed.packages())
if(pa) {
  cal <- calibrate(mod, u=2.5, m=20, B=20)  # cmethod=  '  hare  '
  plot(cal)
}

####################################
#         validate

v<-validate(mod, method='boot', B=5)
v
####################################
####################################
#         Calibration
set.seed(717)

cal<-calibrate(mod, method="boot", u=1, B=120, pr=FALSE, force=NULL, estimates=TRUE,
               bw=FALSE, aics=0, what="observed-predicted", tol=1e-12, maxdim=5) plot(cal, subtitles=FALSE)
plot(cal)
cal.km <- calibrate(mod, u=1, cmethod='KM', m=10, B=10, pr=FALSE)
plot(cal.km)
cal.hare = calibrate(mod, u=1, cmethod='hare', m=20, B=20)
plot(cal.hare)
#####################################

Regards
Amalraj

From: Raja, Dr. Edwin Amalraj
Sent: 16 February 2018 10:37
To: 'r-help at r-project.org' <r-help at r-project.org>
Subject: Competing risks - calibration curve

Dear R users,

    I am new to R and wanted to apply competing risk methods in my research work. I used the R code given by Zhang et al in his paper 'Nomogram for survival analysis in the presence of competing risks published in Ann Trans Med 2017:5(20):403.

I am struggling with getting calibration curve thro' internal validation.   I am happy to receive suggestion in the coding as well as any reference

Can someone help with it?

Regards
Amalraj Raja
University of Aberdeen


The University of Aberdeen is a charity registered in Scotland, No SC013683.
Tha Oilthigh Obar Dheathain na charthannas cl?raichte ann an Alba, ?ir. SC013683.

	[[alternative HTML version deleted]]



More information about the R-help mailing list