jplm: Joint Partially Linear Model for Longitudinal and...

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

View source: R/jplm.R

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

1
2
3
4
5
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

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 φ(b_1 + b_2*time), where b_1 and b_2 represent the random intercept and slope terms and φ 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.

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.

Author(s)

Sehee Kim

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 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)	

JointModel documentation built on May 2, 2019, 12:40 p.m.

Related to jplm in JointModel...