dynCJM: A Dynamic Discrimination Index for Joint Models

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

This function computes a dynamic discrimination index for joint models based on a weighted average of time-dependent AUCs.

Usage

1
2
3
4
5
dynCJM(object, newdata, Dt, ...)

## S3 method for class 'JMbayes'
dynCJM(object, newdata, Dt, idVar = "id", t.max = NULL, 
    simulate = FALSE, M = 100, weightFun = NULL, ...)

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).

Dt

a numeric scalar denoting the time frame within which the occurrence of events is of interest.

idVar

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

t.max

a numeric scalar denoting the time maximum follow-up time up to which the dynamic discrimination index is to be calculated. If NULL, it is set equal to max(Time) + 1e-05 where Time denotes the observed event times.

simulate

logical; if TRUE, a Monte Carlo approach is used to estimate survival probabilities. If FALSE, a first order estimator is used instead. See survfitJM for mote details.

M

a numeric scalar denoting the number of Monte Carlo samples; see survfitJM for mote details.

weightFun

a function of two arguments the first denoting time and the second the length of the time frame of interest, i.e., Dt.

...

additional arguments; currently none is used.

Details

(Note: The following contain some math formulas, which are better viewed in the pdf version of the manual accessible at https://cran.r-project.org/package=JMbayes.)

Function dynC computes the following discrimination index

\mbox{C}_{dyn}^{Δ t} = \int_0^{t_{max}} \mbox{AUC}(t, Δ t) \, \mbox{Pr} \{ {\cal E}(t, Δ t) \} \; dt \Big / \int_0^{t_{max}} \mbox{Pr} \{ {\cal E}(t, Δ t) \} \; dt,

where

\mbox{AUC}(t, Δ t) = \mbox{Pr} \bigl [ π_i(t + Δ t \mid t) < π_j(t + Δ t \mid t) \mid \{ T_i^* \in (t, t + Δ t] \} \cap \{ T_j^* > t + Δ t \} \bigr ],

and

{\cal E}(t, Δ t) = \bigl [ \{ T_i^* \in (t, t + Δ t] \} \cap \{ T_j^* > t + Δ t \} \bigr ],

with i and j denote a randomly selected pair subjects, and π_i(t + Δ t \mid t) and π_j(t + Δ t \mid t) denote the conditional survival probabilities calculated by survfitJM for these two subjects, for different time windows Δ t specified by argument Dt. The upper limit of integral in specified by argument t.max. The integrals in the numerator and denominator are approximated using a 15-point Gauss-Kronrod quadrature rule.

Value

A list of class dynCJM with components:

dynC

a numeric scalar denoting the dynamic discrimination index.

times

a numeric vector of time points at which the AUC was calculated.

AUCs

a numeric vector of the estimated AUCs at the aforementioned time points.

weights

a numeric vector of the estimated weights at the aforementioned time points.

t.max

a copy of the t.max argument.

Dt

a copy of the Dt argument.

classObject

the class of object.

nameObject

the name of object.

Author(s)

Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl

References

Antolini, L., Boracchi, P., and Biganzoli, E. (2005). A time-dependent discrimination index for survival data. Statistics in Medicine 24, 3927–3944.

Harrell, F., Kerry, L. and Mark, D. (1996). Multivariable prognostic models: issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors. Statistics in Medicine 15, 361–387.

Heagerty, P. and Zheng, Y. (2005). Survival model predictive accuracy and ROC curves. Biometrics 61, 92–105.

Rizopoulos, D. (2016). The R package JMbayes for fitting joint models for longitudinal and time-to-event data using MCMC. Journal of Statistical Software 72(7), 1–45. doi:10.18637/jss.v072.i07.

Rizopoulos, D. (2012) Joint Models for Longitudinal and Time-to-Event Data: with Applications in R. Boca Raton: Chapman and Hall/CRC.

Rizopoulos, D. (2011). Dynamic predictions and prospective accuracy in joint models for longitudinal and time-to-event data. Biometrics 67, 819–829.

See Also

survfitJM, aucJM, jointModelBayes

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
## 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, 2), data = pbc2,
              random = ~ ns(year, 2) | id)
survFit <- coxph(Surv(years, status2) ~ drug, data = pbc2.id, x = TRUE)
jointFit <- jointModelBayes(lmeFit, survFit, timeVar = "year")

# dynamic discrimination index up to year 10 using a two-year interval 
dynCJM(jointFit, pbc2, Dt = 2, t.max = 10)

## End(Not run)

drizopoulos/JMbayes documentation built on Feb. 2, 2021, 12:34 a.m.