Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Plotting the cumulative incidence function in the presence of competing risks

    Hi,

    I am analysing a small trial where the primary outcome is time to event (recovery). All individuals are followed up until either the event occurs (recov==1), or the individual dies (recov==0; no individuals are censored), so I think the best thing to do is to produce the CIF in the presence of competing risks rather than using Kaplan Meier methods.

    I am trying two methods to produce the CIF curves & am having trouble interpreting them or choosing which is best to use. I provide the data below using dataex.

    I have tried the following using the Fine & Grey model:

    Code:
    stset days, failure(recov==1)
    stcrreg i.group, compete(recov==0)
    stcurve, cif at1(group=0) at2(group=1)
    Apologies if this is obvious, but I'm not sure why the curves don't end at the actual proportion experiencing the event in each; group (tab recov group, col - 72% and 94% in this example).

    Secondly, I have tried using the following method using stcompet (ssc install stcompet) as described here:

    Code:
    stset days, failure(recov==1)
    stcompet cif = ci, compet1(0) by(group)
    gen cif_local_drug0 = cif if group==0
    gen cif_local_drug1 = cif if group==1
    twoway line cif_local_drug1 cif_local_drug0 _t, connect(step step) sort
    I find this intuitive as the proportions are equal to the total proportions of events after the follow-up is complete. However, I get strange dips in the CIF which I don't understand.

    Does anyone have any advice on how I can proceed? Thank you very much in advance.

    Megan



    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input float(group recov) byte days
    0 0  2
    0 0  2
    0 0  6
    0 0  8
    0 1  9
    0 1 10
    0 1 12
    0 1 14
    0 1 16
    0 1 16
    0 0 16
    0 1 18
    0 1 18
    0 1 18
    0 1 18
    0 1 18
    0 1 20
    0 1 20
    0 0 20
    0 1 22
    0 0 24
    0 1 30
    0 1 32
    0 1 36
    0 1 38
    1 1  6
    1 1  8
    1 1  8
    1 1  8
    1 1  8
    1 1  8
    1 1  8
    1 0 10
    1 1 10
    1 1 10
    1 1 10
    1 1 10
    1 1 10
    1 1 11
    1 1 11
    1 1 12
    1 1 12
    1 1 12
    1 1 12
    1 1 12
    1 0 12
    1 1 14
    1 1 14
    1 1 14
    1 1 14
    1 1 16
    1 1 18
    1 1 18
    1 1 20
    1 1 22
    1 1 22
    1 1 28
    end
    label values group group2
    label def group2 0 "control", modify
    label def group2 1 "treat", modify
Working...
X