Learn R Programming

reReg (version 1.3.0)

reReg: Fits Semiparametric Regression Models for Recurrent Event Data

Description

Fits a general (joint) semiparametric regression model for the recurrent event data, where the rate function of the underlying recurrent event process and the hazard function of the terminal event can be specified as a Cox-type model, an accelerated mean model, an accelerated rate model, or a generalized scale-change model. See details for model specifications.

Usage

reReg(
  formula,
  data,
  B = 200,
  method = "cox",
  se = c("resampling", "bootstrap", "NULL"),
  control = list()
)

Arguments

formula

a formula object, with the response on the left of a "~" operator, and the predictors on the right. The response must be a recurrent event survival object as returned by function Recur.

data

an optional data frame in which to interpret the variables occurring in the "formula".

B

a numeric value specifies the number of resampling for variance estimation. When B = 0, variance estimation will not be performed.

method

a character string specifying the underlying model. See Details.

se

a character string specifying the method for standard error estimation. See Details.

control

a list of control parameters.

Details

Suppose the recurrent event process and the failure events are observed in the time interval \(t\in[0,\tau]\), for some constant \(\tau\). We formulate the recurrent event rate function, \(\lambda(t)\), and the terminal event hazard function, \(h(t)\), in the form of $$\lambda(t) = Z \lambda_0(te^{X^\top\alpha}) e^{X^\top\beta}, h(t) = Z h_0(te^{X^\top\eta})e^{X^\top\theta},$$ where \(\lambda_0(t)\) is the baseline rate function, \(h_0(t)\) is the baseline hazard function, \(X\) is a \(n\) by \(p\) covariate matrix and \(\alpha\), \(Z\) is an unobserved shared frailty variable, and \((\alpha, \eta)\) and \((\beta, \theta)\) correspond to the shape and size parameters of the rate function and the hazard function, respectively. The model includes several popular semiparametric models as special cases, which can be specified via the method argument with the rate function and hazard function separated by "|". For examples, Wang, Qin and Chiang (2001) (\(\alpha = \eta = \theta = 0\)) can be called with method = "cox|."; Huang and Wang (2004) (\(\alpha = \eta = 0\)) can be called with method = "cox|cox"; Xu et al. (2017) (\(\alpha = \beta\) and \(\eta = \theta\)) can be called with method = "am|am"; Xu et al. (2019) (\(\eta = \theta = 0\)) can be called with method = "sc|.". Users can mix the models depending on the application. For example, method = "cox|ar" postulate a Cox proportional model for the recurrent event rate function and an accelerated rate model for the terminal event hazard function (\(\alpha = \theta = 0\)). If only one method is specified without an "|", it is used for both the rate function and the hazard function. For example, specifying method = "cox" is equivalent to method = "cox|cox". Some methods that assumes Z = 1 and requires independent censoring are also implemented in reReg; these includes method = "cox.LWYY" for Lin et al. (2000), method = "cox.GL" for Ghosh and Lin (2002), and method = "am.GL" for Ghosh and Lin (2003).

The available methods for variance estimation are:

NULL

variance estimation will not be performed. This is equivalent to setting B = 0.

resampling

performs the efficient resampling-based variance estimation.

bootstrap

performs nonparametric bootstrap.

The control list consists of the following parameters:

tol

absolute error tolerance.

a0, b0

initial guesses used for root search.

solver

the equation solver used for root search. The available options are BB::BBsolve, BB::dfsane, BB:BBoptim, and optim.

baseSE

an logical value indicating whether the 95% confidence bounds for the baseline functions will be computed.

parallel

an logical value indicating whether parallel computation will be applied when se = "bootstrap" is called.

parCl

an integer value specifying the number of CPU cores to be used when parallel = TRUE. The default value is half the CPU cores on the current host.

References

Lin, D., Wei, L., Yang, I. and Ying, Z. (2000). Semiparametric Regression for the Mean and Rate Functions of Recurrent Events. Journal of the Royal Statistical Society: Series B (Methodological), 62: 711--730.

Wang, M.-C., Qin, J., and Chiang, C.-T. (2001). Analyzing Recurrent Event Data with Informative Censoring. Journal of the American Statistical Association, 96(455): 1057--1065.

Ghosh, D. and Lin, D.Y. (2002). Marginal Regression Models for Recurrent and Terminal Events. Statistica Sinica: 663--688.

Ghosh, D. and Lin, D.Y. (2003). Semiparametric Analysis of Recurrent Events Data in the Presence of Dependent Censoring. Biometrics, 59: 877--885.

Huang, C.-Y. and Wang, M.-C. (2004). Joint Modeling and Estimation for Recurrent Event Processes and Failure Time Data. Journal of the American Statistical Association, 99(468): 1153--1165.

Xu, G., Chiou, S.H., Huang, C.-Y., Wang, M.-C. and Yan, J. (2017). Joint Scale-change Models for Recurrent Events and Failure Time. Journal of the American Statistical Association, 112(518): 796--805.

Xu, G., Chiou, S.H.,Yan, J., Marr, K., and Huang, C.-Y. (2019). Generalized Scale-Change Models for Recurrent Event Processes under Informative Censoring. Statistica Sinica: pre-print.

See Also

Recur, simSC

Examples

Run this code
# NOT RUN {
fm <- Recur(Time, id, event, status) ~ x1 + x2

## Joint Cox/Accelerated Mean Model
set.seed(1)
dat <- simSC(50, c(-1, 1), c(-1, 1), type = "cox|am")
(fit <- reReg(Recur(Time, id, event, status) ~ x1 + x2, 
              data = dat, method = "cox|am", B = 50))
summary(fit)

## Generalized Scale-Change Model
set.seed(1)
dat <- simSC(50, c(-1, 1), c(-1, 1), type = "sc")
(fit <- reReg(Recur(Time, id, event, status) ~ x1 + x2, 
              data = dat, method = "sc|.", B = 50))
summary(fit)
# }

Run the code above in your browser using DataLab