8
$\begingroup$

Given interval censored survival times, how do I perform an interval censored Cox PH model in R? An rseek search turns up the package intcox, which no longer exists in the R repository. I'm almost positive the coxph function in the survival package cannot handle interval censored survival data.

Also, I don't want to impute the data and then use the coxph function. This method underestimates the standard errors of the coefficients because you are ignoring the uncertainty of the interval censoring.

$\endgroup$
  • 1
    $\begingroup$ You can still install the intcox package even if it's not on CRAN using the normal install.packages("intcox"). $\endgroup$ – smillig Dec 12 '12 at 15:23
  • $\begingroup$ Hmmm... I was not able to do that. Could the mirror selection affect the download? $\endgroup$ – wcampbell Dec 12 '12 at 15:27
  • 1
    $\begingroup$ It's possible, but I don't know. I just used the Berlin CRAN to do it about 10 minutes ago (R version 2.15.1). $\endgroup$ – smillig Dec 12 '12 at 15:29
  • 2
    $\begingroup$ The Survival Analysis CRAN Task View summarizes available packages for survival analysis, including a number with support for interval censoring. $\endgroup$ – jthetzel Apr 1 '14 at 0:52
  • 1
    $\begingroup$ As of 21 Dec 2015, I was able to install.packages("intcox") without any particular trouble (R-devel, but any modern R should work) $\endgroup$ – Ben Bolker Dec 21 '14 at 21:41
3
$\begingroup$

As stated above, you can use the survreg function. A note though: this is not strictly a Cox PH model, but rather location-scale models. Using the default log-transformation, this is the aft model. In the case of the exponential distribution, the proportional hazards and aft model are equivalent, so if distribution is set to exponential, this is a proportional hazards model with an exponential baseline. Likewise, if a baseline Weibull distribution aft model is used, the parameter estimates are just a linear transformation of those used in the proportional hazards model with Weibull baseline distribution. But in general, survreg does not fit a Cox PH model.

If a semi-parametric model is desired, as found implemented in intcox, a word of caution: there are several issues with the current version of intcox (algorithm typically prematurely terminates significantly far from the MLE, fails outright with uncensored observations, no standard errors automatically presented).

A new alternative that you could use is the package "icenReg".

Admission of bias: this is the author of icenReg.

$\endgroup$
  • 1
    $\begingroup$ Welcome to our site! We're glad to have you and your fine contributions. $\endgroup$ – whuber May 16 '15 at 20:16
  • $\begingroup$ @Cliff AB What specific semi-parametric method do you use in the ic_sp function? Do you have a paper or tutorial about the method? $\endgroup$ – Munichong May 3 '18 at 16:01
  • $\begingroup$ @Munichong: the full paper can be found here. Alternatively, the package's vignette gives a quick introduction to the models as well; see here $\endgroup$ – Cliff AB May 3 '18 at 18:38
  • $\begingroup$ @CliffAB Since my data is too large to fit in the memory, I want to modify ic_sp in a stochastic way: Feed a mini-batch to ic_sp and set maxIter = 1, get the gradients and update betas iteratively. Do you know How I can access the gradients from the ic_sp function? $\endgroup$ – Munichong May 7 '18 at 14:16
  • 1
    $\begingroup$ @Munichong: interesting! Unfortunately, I don't think this method will work. In particular, ic_sp needs to estimate the baseline survival distribution (unlike in right censored case), which has as many parameters as unique times in your data. This creates a problem for mini-batching; with continuous times, the baseline steps will not line up batch to batch. $\endgroup$ – Cliff AB May 7 '18 at 14:22
1
$\begingroup$

To do interval censored analysis in R, you must create a Surv object, and then use survfit(). If you have more than a variable, the intcox package solves the problem.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.