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

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