Skip to content
/ JM Public

Joint Models for Longitudinal & Survival Data under Maximum Likelihood

Notifications You must be signed in to change notification settings

drizopoulos/JM

Repository files navigation

JM: Joint Models for Longitudinal and Survival Data using Maximum Likelihood

Travis-CI Build Status CRAN status Download counter Research software impact

Description

This repository contains the source files for the R package JM. This package fits joint models for longitudinal and time-to-event data using maximum likelihood. These models are applicable in mainly two settings. First, when focus is on the survival outcome and we wish to account for the effect of an endogenous (aka internal) time-dependent covariates measured with error. Second, when focus is on the longitudinal outcome and we wish to correct for nonrandom dropout.

The basic joint-model-fitting function of the package is jointModel(). This accepts as main arguments a linear mixed model fitted by function lme() from the nlme package and a Cox model fitted using function coxph() from the survival package.

Basic Features

  • It can fit joint models for a single continuous longitudinal outcome and a time-to-event outcome.

  • For the survival outcome a relative risk models is assumed. The method argument of jointModel() can be used to define the type of baseline hazard function. Options are a B-spline approximation, a piecewise-constant function, the Weibull hazard and a completely unspecified function (i.e., a discrete function with point masses at the unique event times).

  • The user has now the option to define custom transformation functions for the terms of the longitudinal submodel that enter into the linear predictor of the survival submodel (arguments derivForm, parameterization). For example, the current value of the longitudinal outcomes, the velocity of the longitudinal outcome (slope), the area under the longitudinal profile. From the aforementioned options, in each model up to two terms can be included. In addition, using argument InterFact interactions terms can be considered.

Dynamic predictions

  • Function survfitJM() computes dynamic survival probabilities.

  • Function predict() computes dynamic predictions for the longitudinal outcome.

  • Function aucJM() calculates time-dependent AUCs for joint models, and function rocJM() calculates the corresponding time-dependent sensitivities and specifies.

  • Function prederrJM() calculates prediction errors for joint models.