How do you perform a survival analysis on a data set that is right censored (i.e. some samples are removed before failure) where the measurement points are non-regular discreet intervals (i.e. failure between Left and Right or sometimes not at all).

Example data set:

| sample | Left (hours) | Right (hours) | Fail/Censored |
| A      | 10           | 20            | F             |
| B      | 40           | 60            | F             |
| C      | 40           | 60            | C             |        

I am comfortable using R, but do not have enough experience with this branch of statistics. I would appreciate if someone could provide an R example or point me in the correct direction.


As implied by the tag, this is referred to as interval censoring. In this scenario, for each observation, we have a pair of values that I call observation intervals: $(L_i, R_i]$, where $L_i$ represents a lower bound on the true value of interest and $R_i$ presents an upper bound on the true value of interest. For example, suppose you go to a dentist at age 9 and have no cavities. You go again at age 12 and have one cavity. Then all you know about your "age at first cavity" is that it is in the interval $(9,12]$.

Note: you will need to slightly change your data to put it in this format. For example, you have the interval $(40, 60]$ for subject C but you also state that they are right censored. I assume this means that we know that for subject C, at time 60 the event of interest had not occurred yet. In that case, you should represent their observation interval as $(60, \infty)$.

There exists a variety of tools for analyzing interval censoring data. One of the most basic tools is the non-parametric maximum likelihood estimator (NPMLE). This is basically an extension of the Kaplan Meier curves that allows for interval censoring. For performing hypothesis testing to compare two groups, the log-rank statistics have been generalized to allow for interval censoring. Finally, survival regression models (proportional hazards, accelerated failure time and proportional odds, to name few) can be used.

In R, the NPMLE and regression models can be found in my icenReg package. The log-rank statistic can be found in the interval package.

  • $\begingroup$ re. "you will need to slightly change your data ... 60 the event of interest had not occurred yet. In that case, you should represent their observation interval as (60,∞)." This is the part I am struggling with. If the test is terminated at 60 without observation of the event, this means you have only tested out to 60, its different to saying the part survives to infinity. $\endgroup$
    – Andrew
    Jun 13 '17 at 7:57
  • $\begingroup$ Ri is not infinity (as the sample will fail at some point in the future) and Ri is not the mean of 60 and infinity, so I'm not sure what approach to take... $\endgroup$
    – Andrew
    Jun 13 '17 at 10:04
  • $\begingroup$ Right. But remember that $(60, \infty)$ doesn't mean that the event happened at infinity, but rather we know that the event will be in the interval $(60, \infty)$, or in other words, the event time is greater than 60. $\endgroup$
    – Cliff AB
    Jun 13 '17 at 13:15
  • $\begingroup$ Thank you. That makes a bit more sense. I'll have to dig around some more to build a working example in R. $\endgroup$
    – Andrew
    Jun 13 '17 at 16:28

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.