Learn R Programming

JointModel (version 1.0)

jplm: Joint Partially Linear Model for Longitudinal and Time-to-Event Data

Description

This function fits jointly a partially linear model for normal longitudinal responses and a semiparametric transformation model for time-to-event data using a sieve maximum likelihood approach (Kim et al., 2016).

Usage

jplm(formula.lm.y, nlm.par=NULL, data.y, formula.surv.fixed, formula.frailty, id.vec=NULL, transf.par=0, data.surv, degree=3, n.knots=3, CovEst=TRUE, maxiter=200, epsilon=5e-04,...)

Arguments

formula.lm.y
a formula inheriting from class lmer. The right side of the formula describes both the linear fixed effects and random effects part of the longitudinal model. Random-effects terms are distinguished by one vertical bar (|) separating expressions for design matrices from grouping factors. Only one vertical var is allowed.
nlm.par
a vector of nonlinear effect covariate.
data.y
a data.frame containing the variables named in formula.lm.y.
formula.surv.fixed
a formula inheriting from class coxph. That is, the response must be a survival object as returned by the Surv(,) function, and the right side of formula must include only fixed effects covariates.
formula.frailty
a formula with the right side descring frailty term of the survival model. The left side of the formula must leave in blank, and the intercept term will be included unless specified by ~ -1+... or ~ 0+....
id.vec
a vector containing subject ID corresponding to formula.frailty.
transf.par
a non-negative value of transformation parameter applied to the cumulative hazard function. transf.par=0 will fit a proportional hazards model, while transf.par=1 will fit a proportional odds model. Default is 0.
data.surv
a data.frame containing the variables named in the formula.surv.fixed.
degree
degree of the sieve polynomial. Default is 3 for cubic splines.
n.knots
the number of interior knot points for the B-spline approximation of the nonlinear effect. Default is 3.
CovEst
logical value; if TRUE, the covariate matrix of all the model parameters are estimated.
maxiter
the maximum number of EM iterations. Default is 200.
epsilon
tolerance value in the Newton-Raphson algorithm used to update the parameters in the M-step. Default is 5e-04.
...
other arguments

Value

coef.lm.y
the vector of linear coefficients in the longitudinal model.
coef.nlm.y
the vector of sieve coefficients corresponding to B-spline approximation of the nonlinear effect in the longitudinal model.
var.resid
the variance estimate of longitudinal response residuals.
raneff.vcomp
the vector of estimates of random effects variance component, corresponding to random intercept, random slope, and their correlation.
coef.fixed.surv
the vector of fixed coefficients in the survival model.
coef.frailty.surv
value of random (frailty) coefficient in the survival model.
lambdas
the vector of jump sizes of the baseline cumulative hazard function, corresponding to the ordered observed event times.
loglik
value of the log-likelihood with the final values of the coefficients.
AIC
value of AIC with the final values of the coefficients.
BIC
value of BIC with the final values of the coefficients.
degree
degree used for the sieve polynomial.
n.knots
number of interior knot points used for the B-spline approximation of the nonlinear effect.
K
the transformation parameter.
covy
the variance matrix of all the parameters in the longitudinal model, corresponding to the estimates ofcoef.lm.y,coef.nlm.y, and var.resid.
covb
the variance matrix of all the parameters in raneff.vcomp.
covt
the variance matrix of all the parameters in the survival model, corresponding to the estimates of coef.fixed.surv, coef.frailty.surv, and lambdas.

Details

Function jplm fits joint models for longitudinal and survival data. Viewing time-to-drop-out as an event process, the same joint models also can be fitted to longitudinal data with informative drop-outs. For more detailed formulation of these models, refer to Kim et al. (2016). For the longitudinal model specification, all linear effects part (including fixed and random) should be described in formula.lm.y, while a non-linear fixed effect component should be specified in the nlm.par argument. For the survival model specification, the fixed effects component should be described by the argument formula.surv.fixed, whereas the random effects (frailty) component should be described in formula.frailty. The current version assumes all random effects coefficients are the same. For example, the argument formula.frailty= ~ 1+time implies a regression model with $\phi(b_1 + b_2*time)$, where $b_1$ and $b_2$ represent the random intercept and slope terms and $\phi$ is one dimensional coefficient corresponding to both $b_1$ and $b_2$.

A logarithmic transformation can be applied to the cumulative hazard function by varying the value of transf.par. Specifically, the transformation function takes the form of: $H(x) = 0$ if transf.par=0; otherwise $H(x) = log(1 + K)/K$ with transf.par=K. transf.par=0 will fit a proportional hazards model, while transf.par=1 will fit a proportional odds model.

For AIC- or BIC-based model selection, CovEst=FALSE is strongly recommended.

References

Kim, S., Zeng, D., Taylor, J. M. G. (2016) Joint partially linear model for longitudinal data with informative drop-outs. Under revision 0, 000-000.

See Also

pred.jplm.nonlinear, pred.jplm.cumhaz

Examples

Run this code

# a simulated data set of longitudinal responses
attach(prostate)
# a simulated data set of time-to-event (e.g., drop-out process)
attach(dropout)

# joint fit of a partially linear model and a proportional hazards model 
# with a subject-specific random intercept and random slope
fit0 <- jplm(logPSA.postRT ~ logPSA.base + (1 + VisitTime|ID), 
                 nlm.par=prostate$VisitTime, data.y=prostate, 
                 Surv(DropTime, Status) ~ logPSA.base2, 
                 formula.frailty= ~ 1 + DropTime, 
                 id.vec=dropout$ID2, transf.par=0, data.surv=dropout)
summary(fit0)	

Run the code above in your browser using DataLab