Research question: I am interested in analyzing in R whether people with a specific level (out of four levels) of a blood parameter BP have a higher risk for developing a specific disease D.

A description of my study population: I am working with a closed cohort in that sense that a certain amount of people got included and are then followed-up until a certain date. The thing that makes the method selection a bit tricky is, that the inclusion dates stretch over three years. That means that the baseline date differs, which also influences the length of follow up. Some people were followed for three more years than others. The end date is the same for all participants, if they did not develop the disease or died. So, the competing risk for developing the disease is death. Besides that, there is no loss to follow-up.

Considerations so far: I was first doing a survival analysis and calculated the Kaplan-Meier estimator. I calculated the survival time as time period between the baseline date and the last day of the study. This caused issues, also with creating the plot, as the follow-up time is not uniform. I also did a log-rank test and Cox proportional hazard model.

My question: Now, I am now wondering if this is actually the right method at all. I was considering cumulative incidence as well, as I am more interested in the occurrence of the disease than the non-development of the disease. But cumulative incidence does assume no competing risk and uniform follow-up time. Might calculating the incidence rate be the better option and how could I compare these then? By a simple ANOVA?

I appreciate your input.


1 Answer 1


This is a competing-risks situation involving right censoring, with disease diagnosis and death as the competing risks. The right censoring makes simple ANOVA inappropriate. In principle there is no problem with survival analysis, which takes right censoring into account. See the competing risks vignette of the R survival package.

In a simple situation like this, the coefficient estimates from a Cox model for disease development would be the same whether you censor at times of death prior to disease development or build a full competing-risks model. Only the full model would provide the correct probabilities of alive/disease/death status over time, however. See Section 3.1 of the vignette.

The complication here is what to choose as the time = 0 reference for the survival analysis.

You should not choose the start of the study itself as time = 0, as that doesn't represent a useful reference for the specific individuals enrolling in the study over time.

You might choose each individual's enrollment date as the time = 0 reference, and express the event/follow-up time for each individual relative to that. That would make sense if there was some particular defined event that led to participant enrollment, such as the date of some specific diagnosis. That's a typical choice in cancer survival analysis, with the date of definitive cancer diagnosis providing a reference. If something like that applies to your study, you could include the calendar date of enrollment as a covariate in the model; that can help control for outcome trends over time.

Otherwise, you should consider modeling participant age at the event or last follow-up as the time scale. That effectively treats birth (or some other age before the youngest participant's age) as the time = 0 reference.

In that scale you have what's considered left-truncated data, as inclusion in the study requires that an individual survived up to the date of inclusion. You thus use the counting-process format for survival data, in R: Surv(startTime, stopTime, eventIndicator). Here, startTime would be age at study entry, stopTime the age at event or last follow up, and the eventIndicator would have 3 levels for right censoring, disease development, or death at stopTime.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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