# generate some survival data
set.seed(204542)
p = 20
n = 100
beta.true <- c(rep(4, 10), rep(0, (p-10)))
CovX<- diag(0.1, p)
survObj <- list()
survObj$x <- apply(rmvnorm(n, sigma=CovX, method="chol"), 2, scale)
pred <- as.vector(exp(rowSums(scale(survObj$x, center = FALSE, scale = 1/beta.true))))
t <- rexp(n, rate = pred)
cen <- runif(n, 0, 8)
survObj$t <- pmin(t, cen)
survObj$di <- as.numeric(t <= cen)
priorPara <- list()
priorPara$eta0 <- 2
priorPara$kappa0 <- 2
priorPara$c0 <- 2
priorPara$r1 <- 0.5
priorPara$r2 <- 0.5
priorPara$delta1 <- 0.0001
priorPara$delta2 <- 0.0001
priorPara$s <- sort(survObj$t[survObj$di == 1])
priorPara$s <- c(priorPara$s, 2*max(survObj$t)
-max(survObj$t[-which(survObj$t==max(survObj$t))]))
priorPara$J <- length(priorPara$s)
mcmcPara <- list()
mcmcPara$numBeta <- p
mcmcPara$beta.prop.var <- 1
initial <- list()
initial$beta.ini <- rep(0.5, p)
initial$lambda1Sq <- 1
initial$lambda2Sq <- 1
initial$sigmaSq <- runif(1, 0.1, 10)
initial$tauSq <- rexp(p, rate = initial$lambda1Sq/2)
initial$h <- rgamma(priorPara$J, 1, 1)
initial$wSq <- rexp((p-1), rate = initial$lambda2Sq/2)
rw = FALSE
num.reps = 20000
chain = 1
thin = 5
save = 5
fitFL <- psbcFL(survObj, priorPara, initial, rw=FALSE, mcmcPara,
num.reps, thin, chain, save)Run the code above in your browser using DataLab