Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: SV: SV: stcompet and cumulative incidence at a specific point in time


From   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: SV: SV: stcompet and cumulative incidence at a specific point in time
Date   Mon, 17 Jun 2013 09:38:47 +0100

Stata version is not the problem here. Make sure that

noi table `2' if _t<`1' & _cif_<., c(max _t max _cif_ max _ciflo max
_cifhi) format(%04.3f)

appears as one logical command line in your program.

Nick
[email protected]


On 17 June 2013 09:31, Rikke Esberg Kirkfeldt <[email protected]> wrote:
> Dear Adam,
>
> Thank you for the program.
> Unfortunately, I only have Stata v.11.2, so I had to change the command a bit, and it now reads:
>
> program define ciflist
> version 11.2
> syntax anything [if]
> capture drop _cif*
> stcompet _cif_ = ci  _cifhi = hi _ciflo = lo  `if', compet1(2)
> noi table `2' if _t<`1' & _cif_<., c(max _t max _cif_ max _ciflo max
> _cifhi) format(%04.3f)
> end
>
>
> When I run the -ciflist 5 outcom- the following happens:
>
>  ciflist 5 outcome
> ) required
> r(100);
>
>  I've tried to include a -)-  that doesn't help. Maybe the Stata version is the problem?

Adam Olszewski

> You can also use this short program to list the basic CIF and 95% CI:
>
> program define ciflist
> version 12.1
> syntax anything [if]
> capture drop _cif*
> stcompet _cif_ = ci  _cifhi = hi _ciflo = lo  `if', compet1(2)
> noi table `2' if _t<`1' & _cif_<., c(max _t max _cif_ max _ciflo max
> _cifhi) format(%04.3f)
> end
>
>
> Then you can type e.g.
> -ciflist 5 cevent-
> where "cevent" is your fail-event variable and 5 is the time you want
> the point estimate for. This assumes that value 1 is your event of
> interest and value 2 is a competing event.
> The downside is that you have to wait for a new stcompet run each
> time, but of course you could modify it to run just once.


On Mon, Jun 17, 2013 at 3:06 AM, Rikke Esberg Kirkfeldt <[email protected]> wrote:
>> Dear Katja and Enzo,
>>
>> Thank you so much for your replies.
>>
>> Katja, indeed the pseudo value approach would be appropriate. However, we plan to use the cumulative incidence curves, and all I wanted was a relatively precise way of estimating the cumulative incidence from the curves generated after stcompet. And I believe, Enzo, that your solution does just that.
>>
>> Would it be correct to replace –ci- with –lo- and –hi- in order to estimate the confidence intervals, like this?
>>
>> . stset survtime, failure(outcome==1)
>>
>>      failure event:  outcome == 1
>> obs. time interval:  (0, survtime]
>>  exit on or before:  failure
>>
>> ------------------------------------------------------------------------------
>>      1415  total obs.
>>         0  exclusions
>> ------------------------------------------------------------------------------
>>      1415  obs. remaining, representing
>>       247  failures in single record/single failure data
>>  6708.504  total analysis time at risk, at risk from t =         0
>>                              earliest observed entry t =         0
>>                                   last observed exit t =  10.58179
>>
>> .  stcompet ci=ci hi=hi lo=lo, compet1(2)
>>
>> . forval i = 1(1)5 {
>>   2.    qui su _t if _t<=`i'
>>   3.    local tobs = `r(max)'
>>   4.    qui su ci if _t<=`i'
>>   5.    local ciat = `r(max)'
>>   6.    if `i'==10 di _col(5) "at" _col(18) "Obs Time" _col(33) "Cum Inc"
>>   7.    di _col(5) `i' _col(20) `tobs' _col(35) `ciat'
>>   8.    }
>>     1              .99657768      .04452297
>>     2              1.9986311      .0864664
>>     3              2.9952087      .11046968
>>     4              3.9972622      .14158537
>>     5              4.9993157      .17513161
>>
>> .
>> .                 forval i = 1(1)5 {
>>   2.    qui su _t if _t<=`i'
>>   3.    local tobs = `r(max)'
>>   4.    qui su lo if _t<=`i'
>>   5.    local ciat = `r(max)'
>>   6.    if `i'==10 di _col(5) "at" _col(18) "Obs Time" _col(33) "Cum Inc"
>>   7.    di _col(5) `i' _col(20) `tobs' _col(35) `ciat'
>>   8.    }
>>     1              .99657768      .03464053
>>     2              1.9986311      .07253825
>>     3              2.9952087      .09467253
>>     4              3.9972622      .12335587
>>     5              4.9993157      .15447509
>>
>> .                 forval i = 1(1)5 {
>>   2.    qui su _t if _t<=`i'
>>   3.    local tobs = `r(max)'
>>   4.    qui su hi if _t<=`i'
>>   5.    local ciat = `r(max)'
>>   6.    if `i'==10 di _col(5) "at" _col(18) "Obs Time" _col(33) "Cum Inc"
>>   7.    di _col(5) `i' _col(20) `tobs' _col(35) `ciat'
>>   8.    }
>>     1              .99657768      .05616275
>>     2              1.9986311      .10186408
>>     3              2.9952087      .12760713
>>     4              3.9972622      .16104027
>>     5              4.9993157      .1968829
>>
>> Best regards,
>>
>> Rikke Kirkfeldt, MD, PhD
>> Department of Cardiology
>> Aarhus University Hospital
>> Denmark
>>
>> ________________________________________
>> Fra: [email protected] [[email protected]] p&#229; vegne af Katja Maretty Nielsen [[email protected]]
>> Sendt: 16. juni 2013 08:42
>> Til: [email protected]
>> Emne: st: SV: stcompet and cumulative incidence at a specific point in time
>>
>> Dear Enzo.
>>
>> I've encountered the same problem, but was advised to use the psudovalue approach with the -stpci-, were you generate pseudo values at the time you are interested in:
>>
>> gen cevent=(dssstatus==2)
>> label variable cevent "competing risk event"
>> stpci cevent, at(1 2 3 4 5)
>> glm pseudo1, fam(gauss) link(id) vce(robust)
>> glm pseudo2, fam(gauss) link(id) vce(robust)
>> glm pseudo3, fam(gauss) link(id) vce(robust)
>> glm pseudo4, fam(gauss) link(id) vce(robust)
>> glm pseudo5, fam(gauss) link(id) vce(robust)
>>
>> Hope this helps.
>>
>> Best regards
>>
>> Katja Maretty Nielsen
>>
>> MD, Phd-student
>> Dept. of Experimental Clinical Oncology
>> Aarhus University Hospital
>> Noerrebrogade 44, building 5
>> DK- 8000 Aarhus C
>> Tel.: +45 78462621 / 50904640
>> Mail: [email protected]
>> ________________________________________
>> Fra: [email protected] [[email protected]] p&#229; vegne af Enzo Coviello [[email protected]]
>> Sendt: 16. juni 2013 08:14
>> Til: [email protected]
>> Emne: st: stcompet and cumulative incidence at a specific point in time
>>
>> Hi All,
>>
>> Is there a Stata command that can be used to list (at specific time
>> points  e.g. -sts list, at (0 (1) 5)-)
>> the cumulative incidence function with confidence intervals from a
>> competing risk analysis (after the –stcompet- command)?
>>
>>
>> As far as I know there is not a command.
>> The following code should approximately obtain what you need supposing
>> that the -ci- is the name of the variable containing the cumulative
>> incidence:
>>
>> forval i = 1(1)5 {
>>    qui su _t if _t<=`i'
>>    local tobs = `r(max)'
>>    qui su ci if _t<=`i'
>>    local ciat = `r(max)'
>>    if `i'==10 di _col(5) "at" _col(18) "Obs Time" _col(33) "Cum Inc"
>>    di _col(5) `i' _col(20) `tobs' _col(35) `ciat'
>>    }

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index