BookmarkSubscribeRSS Feed
YYK273
Obsidian | Level 7

Hi everyone,

I am currently facing an issue while working with a longitudinal health dataset to calculate the Cumulative Incidence Function (CIF) of chronic disease among four cohorts with competing risks (outcomes coded as 0. censor, 1. event, 2. death). I am trying to add personal weight, but ERROR The WEIGHT statement is not available for competing-risks data. Is it OK if I don't apply weight?

 

The specific concern lies with cohort=6, mid babyboomers, which is displaying an unusually high CIF of 79% compared to the more typical values ranging from 8% to 10% for other cohorts.

Summary of Failure OutcomesStratum cohort FailedEvents CompetingEvents Censored Total1 3.Hrs2 4.WarBabies3 5.Early BabyBoomers4 6.Mid BabyBoomersTotal  

 

Summary of Failure Outcomes
StratumRACOHBYRFailedCompetingCensoredTotal
EventsEvents
13.Hrs7027413161660
24.WarBabies10854319962647
35.Early BabyBoomers12851021672805
46.Mid BabyBoomers12053128823533
Total 4261858836110645

 

Upon reviewing the Summary of Failure Outcomes, there seems to be no significant difference between cohort=6 and the other cohorts.  Given this, 120 deaths out of a total of 3533 observations, the CIF for cohort=6 should not be 79%.

cifPlot5.png

I am reaching out to the community for insights into why the CIF for cohort=6 is producing such a high value. I have included a snapshot of my dataset and the relevant portion of the output for your reference. I am wondering if there might be an issue with my code or if there are specific considerations for cohort=6 that I might be overlooking.

 

Here is the relevant portion of the OUTCIF output: [Include the portion of the output related to CIF for cohort=6]

20231213112728.png

If anyone has encountered a similar issue or has any suggestions on troubleshooting, I would greatly appreciate your input. Thank you for taking the time to read my post. 

 

 

 

 

This is the code I'm using for CIF with competing risk:

proc lifetest data=Phreg12121   
plots=cif(test cl)  outcif=survival_data;
time T_FI1YR*outcome(0)/failcode; 			
strata cohort ;
*WEIGHT weight0_SD;
run;


 

 

 

 

 

 

 

 

 

 

 

3 REPLIES 3
OsoGris
SAS Employee

Shouldn't you be specifying a FAILCODE= value in your code?

 

proc lifetest data=Phreg12121   
plots=cif(test cl)  outcif=survival_data;
time T_FI1YR*outcome(0)/failcode; 			
strata cohort ;
*WEIGHT weight0_SD;
run;
YYK273
Obsidian | Level 7

I appreciate your reply. Since the User’s Guide said If you specify the FAILCODE option without the equal sign, PROC LIFETEST produces a separate analysis for each distinct event value. 

 

I also added failcode=2;

proc lifetest data=phreg12121   
              plots=cif(test cl)  outcif=survival_data ;
   time T_FI1YR*outcome(0)/failcode=2; *format outcome eventf.;
			strata RACOHBYR ;
run;

However, it still showed a high CIF for cohor=6, while the eventcode=1 showed normal CIFs.

cifPlot16.pngcifPlot17.png

 

 

PaigeMiller
Diamond | Level 26

I don't know the answer ... but in situations like this, it helps to plot the raw data for Cohort 6 and then separately plot the raw data for the other cohorts, using the same axes for all plots. Do you see any major differences in the raw data?

--
Paige Miller

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 476 views
  • 3 likes
  • 3 in conversation