Learn R Programming

prodlim (version 1.1.3)

jackknife: Jackknife pseudo-values based on the product-limit method

Description

Jackknife pseudo-values based on the Kaplan-Meier and Aalen Johannsen estimates.

Usage

jackknife(object, times, ...)

Arguments

object
times
...

Value

    Examples

    Run this code
    ## Survival
    dd <- prodlim:::SimSurv(100)
    ff <- prodlim(Hist(time,status)~1,data=dd)
    jj <- jackknife.survival(ff,times=c(10,30,100))
    
    dd <- prodlim:::SimSurv(1000)
    library(pseudo)
    system.time(jack <- with(dd,pseudosurv(time,status,c(10,30,100))))
    system.time({ff <- prodlim(Hist(time,status)~1,data=dd);jack2 <- jackknife(ff,times=c(10,30,100))})
    all(round(jack2[,1],9)==round(jack[[3]],9))
    
    ## CompRisk
    ddd <- data.frame(time=1:100,event=rbinom(100,2,.5),X=rbinom(100,1,.5))
    fff <- prodlim(Hist(time,event)~1,data=ddd)
    fk <- leaveOneOut.competing.risks(fff,times=c(10,30,100,500))
    jk <- jackknife.competing.risks(fff,times=c(10,30,100))
    
    library(prodlim)
    library(pseudo)
    ddd <- data(sampleCompriskFrame)
    fff <- prodlim(Hist(time,event)~1,data=ddd)
    fff7 <- prodlim(Hist(time,event)~1,data=ddd[-7,])
    fff1 <- prodlim(Hist(time,event)~1,data=ddd[-1,])
    ttt <- ddd$time
    p1 <- predict(fff1,times=ttt)
    p7 <- predict(fff7,times=ttt)
    summary(fff1,times=1:10,cause=1)
    sf <- leaveOneOut.competing.risks(fff,times=ttt)
    cbind(loo=sf[7,],true=p7)
    cbind(loo=sf[1,],true=p1)
    jack <- with(ddd,pseudoci(time,event,ttt))[,-c(1:2,seq(4,22,2))]
    jack2 <- jackknife.competing.risks(fff,times=ttt)
    all(sapply(1:10,function(x){
    a <- round(jack[,x],4)
    b <- round(jack2[,x],4)
    # all(a[!is.na(a)]==b[!is.na(b)])
    all(a[!is.na(a)]==b[!is.na(a)])
    }))
    
    
    N <- 2000
    ddd <- data.frame(time=1:N,event=rbinom(N,2,.5),X=rbinom(N,1,.5))
    ttt <- c(3,5,10)
    # ttt <- ddd$time
    fff <- prodlim(Hist(time,event)~1,data=ddd)
    system.time(jack <- with(ddd,pseudoci(time,event,ttt))[,-c(1:2,seq(4,N+2,2))])
    system.time({jack2 <- jackknife.competing.risks(fff,times=ttt)})
    all(round(jack2[,1],9)==round(jack[,1],9))
    
    all(sapply(1:N,function(x){
    a <- round(jack[x,],4)
    b <- round(jack2[x,],4)
    # all(a[!is.na(a)]==b[!is.na(b)])
    all(a[!is.na(a)]==b[!is.na(a)])
    
    }<keyword>~kwd1</keyword>
    <keyword>~kwd2</keyword>

    Run the code above in your browser using DataLab