BookmarkSubscribeRSS Feed
blopblop101
Calcite | Level 5

Hi there,

 

I'm trying to fit a Fine and Gray competing risks model and then estimate the cumulative incidence at specific time points (eg. 2 years follow-up). Currently, I'm using the proc phreg function with the baseline options, but this will output all the estimate cumulative incidence at each failure time. I've tried using the timelist option but that can only works in bayesian Cox models.

 

My dataset is relatively big so even when running this model with one covariate, it is taking hours and hours. Ideally, I'd like to had about 8 variables in the model so currently this doesn't seem like a viable option for estimating cumulative incidence. However, producing the graph of the cumulative incidence doesn't take that long, surely there is some way to get the estimate around a certain time point rather than at all failure times.

 

Does anyone know whether you can specifiy time points to estimate cumulative incidence outputs in the proc phreg command?

 

ods graphics on;

proc phreg data=test plots(cl overlay stratum range=0,10)=cif;

class male2 (order=internal ref=first);

model time_yr*outcome(0)=male2 / eventcode=1;

baseline covariatesrisk out=risk2 cif=_all_;

run;

ods graphics off;

2 REPLIES 2
JacobSimonsen
Barite | Level 11

I dont think you can speed up the procedure even if you find a way only to get the estimate at a specific timepoint. It is most likely the estimation of the parameter that takes time. But you can try taking graphics off, and then just pick out the observation at 2 years as in a datastep like this:

data _NULL_;

set risk2(where=(exit<=2*365)) end=end;

if end;

put _all_;

run;

 

Or, if you know you have a failuretime around 2 years you can make the restriction on the riskcurve already when phreg create it:

baseline out=risk2(where=(1.5<=t<=2)) cif=_all_;

 

An alternative solution is to use the Aalen Johansen estimater, which can be computed with PROC LIFETEST, using the failcode option. This is a non-parametric method that is based on a Markov chain theory, and it runs therefore in computation time linear to the size of the dataset.

 

I

blopblop101
Calcite | Level 5

Thanks for your suggestions Jacob. I thought as much that it wouldn't be able to provide cumulative incidence estimates at certain time points.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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
  • 2 replies
  • 2120 views
  • 0 likes
  • 2 in conversation