Nothing
## ----echo=FALSE, results="hide", warning=FALSE--------------------------------
suppressPackageStartupMessages({
library(FastJM)
})
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", warning=FALSE, message=FALSE, eval=TRUE)
## ----eval=FALSE---------------------------------------------------------------
# # install.packages("FastJM")
## ----eval=FALSE---------------------------------------------------------------
# # install.packages("remotes")
# remotes::install_github("shanpengli/FastJM")
## -----------------------------------------------------------------------------
require(FastJM)
require(survival)
data(ydata)
data(cdata)
fit <- jmcs(ydata = ydata, cdata = cdata,
long.formula = response ~ time + gender + x1 + race,
surv.formula = Surv(surv, failure_type) ~ x1 + gender + x2 + race,
random = ~ time| ID)
fit
## -----------------------------------------------------------------------------
ND <- ydata[ydata$ID %in% c(419, 218), ]
ID <- unique(ND$ID)
NDc <- cdata[cdata$ID %in% ID, ]
survfit <- survfitjmcs(fit,
ynewdata = ND,
cnewdata = NDc,
u = seq(3, 4.8, by = 0.2),
method = "GH",
obs.time = "time")
survfit
## -----------------------------------------------------------------------------
res <- DynPredAccjmcs(
object = fit,
landmark.time = 3,
horizon.time = c(3.6, 4, 4.4),
obs.time = "time",
method = "GH",
maxiter = 1000,
n.cv = 3,
survinitial = TRUE,
quantile.width = 0.25,
metrics = c("AUC", "Cindex", "Brier", "MAE", "MAEQ")
)
summary(res, metric = "Brier")
summary(res, metric = "MAE")
summary(res, metric = "MAEQ")
summary(res, metric = "AUC")
summary(res, metric = "Cindex")
## -----------------------------------------------------------------------------
Concord <- Concordancejmcs(seed = 100, fit, n.cv = 3)
summary(Concord)
## ----eval=TRUE----------------------------------------------------------------
data(mvydata)
data(mvcdata)
library(FastJM)
mvfit <- mvjmcs(ydata = mvydata, cdata = mvcdata,
long.formula = list(Y1 ~ X11 + X12 + time,
Y2 ~ X11 + X12 + time),
random = list(~ time | ID,
~ 1 | ID),
surv.formula = Surv(survtime, cmprsk) ~ X21 + X22,
maxiter = 1000, opt = "optim",
tol = 1e-3, print.para = FALSE)
mvfit
## ----eval=TRUE----------------------------------------------------------------
# Longitudinal fixed effects
fixef(mvfit, process = "Longitudinal")
summary(mvfit, process = "Longitudinal")
# Survival fixed effects
fixef(mvfit, process = "Event")
summary(mvfit, process = "Event")
# Random effects for first few subjects
head(ranef(mvfit))
## ----eval=FALSE---------------------------------------------------------------
# require(dplyr)
# set.seed(08252025)
# sampleID <- sample(mvcdata$ID, 5, replace = FALSE)
#
# subcdata <- mvcdata %>%
# dplyr::filter(ID %in% sampleID)
#
# subydata <- mvydata %>%
# dplyr::filter(ID %in% sampleID)
#
# ### Set up a landmark time of 4.75 and make predictions at time u
# survmvfit <- survfitmvjmcs(mvfit, seed = 100, ynewdata = subydata, cnewdata = subcdata,
# u = c(7, 8, 9), Last.time = 4.75, obs.time = "time")
#
# survmvfit
#
## -----------------------------------------------------------------------------
# Simulate data
sim <- simmvJMdata(seed = 100, N = 50) # returns list of cdata and ydata for a sample size of 50
c_data <- sim$mvcdata # survival-side data, one row per ID
y_data <- sim$mvydata # longitudinal measurements (multiple rows per ID)
## -----------------------------------------------------------------------------
head(y_data)
## -----------------------------------------------------------------------------
head(c_data)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.