0
$\begingroup$

In a cohort study we are studying disease X with subtypes A, B, C. When one of these subtypes occurs, the occurrence other subtypes is precluded, therefore I have ran a competing risk regression with competing risk for death and for the other subtypes of the disease.

Now we want to use the cumulative incidence function to estimate the incidence over time. We did this in two different way, namely:

  1. The normal way. Plot cumulative incidence with time elapsed since start of the first study visit to the end of the study. See figure 1.

enter image description here

  1. To get an impression of at what age the disease occurs we added elapsed time since beginning of the study to the age of the patient and plotted the cumulative incidence. See figure 2.

Figure 2

I am unsure whether method 2. is a valid method to estimate cumulative incidence at certain ages. If you look at figure 2, you can clearly see that the cumulative incidence for subtype A, B and C is much higher then in figure 1. This is due to lower numbers at risk at high ages (85+ years). It seems to me that this might give misleading representation of the real situation, could someone comment on this methodology?

$\endgroup$
2
  • $\begingroup$ What is your data and your question exactly? I.e. is this data, where a representative set of people are followed from the time of diagnosis into subtype A, B or C until death (or administrative censoring due to them not having died, yet)? Is the question about all-cause (or disease specific) mortality & what the incidence of death is after having been diagnosed (& wanting to say what it is given age & disease subtype)? Is it a progressive disease that gets worse over time (=possibly worse risk of death), where time since getting the disease (or time since diagnosis as a placeholder) matters? $\endgroup$
    – Björn
    Jan 12 at 11:11
  • $\begingroup$ It is a cohort study where people are followed from baseline until occurence of diagnosis of the disease. The cumulative incidence therefore not represents mortality, but it represents the incidence of the disease in question. However, when disease Xa occurs, disease Xb cannot occur anymore, it is mutually exclusive and a lifelong chronic condition. People are censored at time of the disease, at time of death (in absence of the disease) or at completion of follow-up. $\endgroup$
    – vEten
    Jan 12 at 12:47

1 Answer 1

1
$\begingroup$

You don't get correct cumulative incidence curves in a competing-risks scenario if you censor at times of other events. The R competing risks vignette explains that; see the "pcmbad" fit in Section 2.2. That nevertheless seems to be how you generated the figures. If I'm correct about what you did, you need instead to do a combined fit that takes into account all 3 competing disease risks and the competing risk of death, plus true censoring, as explained in that vignette.

Validity of the second plot is limited, as it seems to involve left truncation of ages. See this page for an introduction to the problem. Individuals who enter your study have already survived a number of years equal to their age, so you have no information about those of younger ages who might have had an event of one of these types before having the opportunity to enter your study. Thus your plot isn't necessarily representative of the underlying population, if you simply add age at study entry to survival beyond that time.

You might accomplish what you want by changing your time = 0 reference to birth or some other specific age. You would need to code age at study entry as left truncated. That can be done with the "counting process" data format that specifies a startAge and a stopAge for each individual, along with an indicator of status at stopAge. A problem in practice can be that you typically only have a few cases at the lowest ages, so you start with high-variance estimates of early-age survival upon which the later-age survival estimates are based. Klein and Moeschberger in Section 4.6 recommend estimating survival functions conditional upon survival to some later age to get around this problem.

An alternative way to handle this would be to set up a survival model with age at study entry as a covariate while you keep time = 0 as time of study entry. Then you can plot estimates of cumulative incidence after study entry for different assumptions about age at study entry. That's illustrated in Section 3.1 of the competing risks vignette. Those curves will still be conditional upon having survived up to the indicated ages, but are less likely to be misleading about what they mean than a plot with age itself along the horizontal axis.

$\endgroup$
2
  • $\begingroup$ Dear EdM, many thanks for your elaborate and informative answer! Scanning through CRR-vignette it seems to me that I have created the right survival curves. This as I used a finegray fit taking into account the indicator variable that indicates all types of events (0 = censor, 1 = competing risk 1, 2 = competing risk 2, 3 = competing risk 3, etc). After which I produce a survfit() for each event-type I want to plot and then plot all curves using ggsurvplot. The second problem is still hard for me to grasp, but I will dive in the materials provided. $\endgroup$
    – vEten
    Jan 20 at 10:19
  • $\begingroup$ To add to my previous comment, I do not believe left truncation would be a problem for my study. All study subjects at study entry are free of the disease in question, and as the disease is a chronic condition, it also could not have been the case that a subject experienced the disease before study entry. The CI-curves show the time from study entry to development of this disease. The only thing I am still not sure about is whether, I can just add age of the participant to the survival time to make the second graph in my post. What do you think? $\endgroup$
    – vEten
    Jan 20 at 12:07

Your Answer

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

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