if (instantiate::stan_cmdstan_exists()) {
if(requireNamespace("survival")){
library(survival)
data(E1684)
data(E1690)
## take subset for speed purposes
E1684 = E1684[1:100, ]
E1690 = E1690[1:50, ]
## replace 0 failure times with 0.50 days
E1684$failtime[E1684$failtime == 0] = 0.50/365.25
E1690$failtime[E1690$failtime == 0] = 0.50/365.25
data_list = list(currdata = E1690, histdata = E1684)
strata_list = list(rep(1:2, each = 25), rep(1:2, each = 50))
# Alternatively, we can determine the strata based on propensity scores
# using the psrwe package, which is available on GitHub
d.stratified.pp = aft.stratified.pp(
formula = survival::Surv(failtime, failcens) ~ treatment,
data.list = data_list,
strata.list = strata_list,
a0.strata = c(0.3, 0.5),
dist = "weibull",
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
aft.logml.stratified.pp(
post.samples = d.stratified.pp,
bridge.args = list(silent = TRUE),
chains = 1, iter_warmup = 1000, iter_sampling = 2000
)
}
}
Run the code above in your browser using DataLab