help for stcompet

Generate Cumulative Incidence in presence of Competing Events

stcompet newvar = { ci | se | hi | lo [[newvar = ...] [...] ] [if exp] [in range] , compet1(numlist) [compet2(numlist) compet3(numlist) compet4(numlist) compet5(numlist) compet6(numlist) by(varname) level(#) ]

stcompet is for use with survival-time data; see help st. You must have stset your data before using this command; see help stset. In previous stset you must specify failure(varname==numlist ) where numlist refers to the event of interest.


Generate variables containing Cumulative Incidence and Standard Error . stset survtime, f(event==1) . stcompet CumInc = ci SError = se, compet1(2) compet2(4)

Generate variables containing Cumulative Incidence Confidence Bounds . stcompet High = hi Low = lo, compet1(2) compet2(4)

Note that each created variable contains functions for all competing events : i.e. event of interest and events in compet# options. So if you want graph functions relating to each event you need to type: . gen CumInc1 = CumInc if event==1 . gen CumInc2 = CumInc if event==2


In survival or cohort studies the failure of an individual may be one of several distinct failure types. In such a situation we observe an event of interest and one or more competing events whose occurrence precludes or alters the probability of occurence of the first one. stcompet creates variables containing Cumulative Incidence, a function that in this case appropriately estimates the probability of occurrence of each endpoint, corresponding Standard Error and Confidence Bounds. The values in numlist of the previous stset are assumed as occurrence of event of interest. In compet#() options you can specify numlist relating to the occurrence of up to six competing events.


compet1(numlist) is not an option because at least one event must to compete with the event of interest. A failure of a competing event occurs whenever failvar specified in previous stset takes on any of the values of this numlist.

compet2(numlist)...compet6(numlist) are optional. Each numlist refers to a failure for other competing events.

by(varname) produces separate functions by making separate calculations for each group identified by equal values of the by() variable taking on integer or string values.

level(#) specifies the confidence level, in percent, for the pointwise confidence interval around the cumulative incidence functions; see help level.


Cumulative Incidence is estimated by summing up to t S(t-1) * h'(t), where S(t-1) is the KME of the overall survival function and h'(t) is the cause-specific hazard at the time t

Standard errors are computed according to the formula in Marubini & Valsecchi (1995) p. 341. They derive the estimator using delta method. Applying delta method Choudhury obtains an other formula presented as Dinse and Larson's variance estimator of the Cumulative Incidence. He provides also Splus codes to compute it. In my checks, using these codes in Splus, standard errors are exactly the same as computed using Marubini & Valsecchi's formula in Stata.

Choudhury proposed and showed that log(-log) trasformation improve coverage accuracy of the confidence intervals. So they are estimated using formula 4 of his article.

Also see

Manual: [R] st sts, [R] st sts generate, [R] st sts graph On-line: help for sts, stset


1 - Marubini E., Valsecchi M.G. Analysing Survival Data from Clinical Trials and Observational Studies. Wiley: Chichester, 1995.

2 - Choudhury J.B. Non-parametric confidence interval estimation for competing risks analysis: application to contraceptive data. Statistics in Medicine 2002; 21: 1129-1144.

3 - Gooley T.A., Leisenring W. Crowley J. Storer B.E. Estimation of failure probabilities in the presence of competing risks: new representations of old estimators. Statistics in Medicine 1999; 18: 695-706.


Enzo Coviello, Azienda U.S.L. BA/1, Italy coviello@mythnet.it