## ----setup---------------------------------------------------------------
library(SCORNET)

## ------------------------------------------------------------------------
sim <- function(N){
  dat <- data.frame('ID'=1:N)
  dat$Z0 <- runif(N,-1,1)
  dat$C <- 10*(rexp(N)*exp(-0.75*dat$Z))^(2/3)
  dat$T <- 15*(rexp(N)*exp(-0.75*dat$Z))^(2/5)
  dat$X <- pmin(dat$T,dat$C)
  dat$Delta <- dat$T <= dat$C
  dat$filter <- as.logical(rbinom(N,1,0.98)*dat$Delta + rbinom(N,1,0.12)*(1-dat$Delta))
  dat$Zehr <- pmin(dat$T+rnorm(N,0,2),dat$C)
  return(dat)
}

N <- 10000
n <- 200
dat <- sim(N)

## ---- message=FALSE------------------------------------------------------
t0.all <- seq(quantile(dat$C,.1),quantile(dat$C,.9),length.out=100)

t1 <- proc.time()
scornet_est <- scornet(dat$Delta[1:n],dat$C[1:n],t0.all,dat$C[-c(1:n)],dat$filter[1:n],dat$filter[-c(1:n)],dat$Z0[1:n],dat$Z0[-c(1:n)],dat$Zehr[1:n],dat$Zehr[-c(1:n)])
t2 <- proc.time()

## ---- message=FALSE------------------------------------------------------
plot(t0.all,sapply(t0.all,function(t){mean(dat$T>t)}),xlab='Time',ylab='Survival',
col='black',type='l')
lines(t0.all,scornet_est$S_hat,col='red',type='l')

## ---- message=FALSE------------------------------------------------------
plot(t0.all,scornet_est$StdErrs,type='l',xlab='Time',ylab='Wald Std. Err.')

## ---- message=FALSE------------------------------------------------------
print(t2-t1)