# NOT RUN {
# Fit a classical univariate joint model with a single longitudinal outcome
# and a single time-to-event outcome
data(heart.valve)
hvd <- heart.valve[!is.na(heart.valve$log.grad) & !is.na(heart.valve$log.lvmi), ]
set.seed(1)
fit1 <- mjoint(formLongFixed = log.lvmi ~ time + age,
formLongRandom = ~ time | num,
formSurv = Surv(fuyrs, status) ~ age,
data = hvd,
timeVar = "time",
control = list(nMCscale = 2, burnin = 5)) # controls for illustration only
summary(fit1)
# }
# NOT RUN {
# Fit a joint model with bivariate longitudinal outcomes
data(heart.valve)
hvd <- heart.valve[!is.na(heart.valve$log.grad) & !is.na(heart.valve$log.lvmi), ]
fit2 <- mjoint(
formLongFixed = list("grad" = log.grad ~ time + sex + hs,
"lvmi" = log.lvmi ~ time + sex),
formLongRandom = list("grad" = ~ 1 | num,
"lvmi" = ~ time | num),
formSurv = Surv(fuyrs, status) ~ age,
data = list(hvd, hvd),
inits = list("gamma" = c(0.11, 1.51, 0.80)),
timeVar = "time",
verbose = TRUE)
summary(fit2)
# }
# NOT RUN {
# }
# NOT RUN {
# Fit a univariate joint model and compare to the joineR package
data(pbc2)
pbc2$log.b <- log(pbc2$serBilir)
# joineRML package
fit.joineRML <- mjoint(
formLongFixed = list("log.bil" = log.b ~ year),
formLongRandom = list("log.bil" = ~ 1 | id),
formSurv = Surv(years, status2) ~ age,
data = pbc2,
timeVar = "year")
summary(fit.joineRML)
# joineR package
pbc.surv <- UniqueVariables(pbc2, var.col = c("years", "status2"),
id.col = "id")
pbc.long <- pbc2[, c("id", "year", "log.b")]
pbc.cov <- UniqueVariables(pbc2, "age", id.col = "id")
pbc.jd <- jointdata(longitudinal = pbc.long, baseline = pbc.cov,
survival = pbc.surv, id.col = "id", time.col = "year")
fit.joineR <- joint(data = pbc.jd,
long.formula = log.b ~ 1 + year,
surv.formula = Surv(years, status2) ~ age,
model = "int")
summary(fit.joineR)
# }
Run the code above in your browser using DataLab