Learn R Programming

JMbayes (version 0.8-85)

cvDCL: Dynamic Information

Description

Using the available longitudinal information up to a starting time point, this function computes an estimate of the cross-entropy function based on joint models.

Usage

cvDCL(object, newdata, Tstart, idVar = "id", M = 300L, seed = 123L)

Arguments

object

an object inheriting from class JMBayes.

newdata

a data frame that contains the longitudinal and covariate information for the subjects for which prediction of survival probabilities is required. The names of the variables in this data frame must be the same as in the data frames that were used to fit the linear mixed effects model (using lme()) and the survival model (using coxph()) that were supplied as the two first argument of jointModelBayes. In addition, this data frame should contain a variable that identifies the different subjects (see also argument idVar).

Tstart

a numeric scalar indicating at which time to compute the cross-entropy.

idVar

the name of the variable in newdata that identifies the different subjects.

M

a numeric scalar denoting the number of Monte Carlo samples.

seed

a numeric scalar

Value

A list of class aucJM with components:

auc

a numeric scalar denoting the estimated prediction error.

Tstart

a copy of the Tstart argument.

Thoriz

a copy of the Thoriz argument.

nr

a numeric scalar denoting the number of subjects at risk at time Tstart.

classObject

the class of object.

nameObject

the name of object.

Details

This function calculates an estimate of the cross-entropy at any time point \(t\) (given in Tstart) that can be used to identify the joint model that best predicts future event giver survival up to \(t\).

See Also

survfitJM, dynCJM, jointModelBayes

Examples

Run this code
# NOT RUN {
# we construct the composite event indicator (transplantation or death)
pbc2$status2 <- as.numeric(pbc2$status != "alive")
pbc2.id$status2 <- as.numeric(pbc2.id$status != "alive")

# we fit the joint model using splines for the subject-specific 
# longitudinal trajectories and a spline-approximated baseline
# risk function
lmeFit <- lme(log(serBilir) ~ ns(year, 3),
    random = list(id = pdDiag(form = ~ ns(year, 3))), data = pbc2)
survFit <- coxph(Surv(years, status2) ~ drug, data = pbc2.id, x = TRUE)
jointFit <- jointModelBayes(lmeFit, survFit, timeVar = "year")

cvDCL(jointFit, Tstart = 5)
# }

Run the code above in your browser using DataLab