UCLA Academic Technology Services HomeServicesClassesContactJobs
Search

Stata Textbook Examples
Applied Survival Analysis by Hosmer, Lemeshow and May
Chapter 2: Descriptive Methods for Survival Data


Table 2.1, Table 2.2, and Figure 2.1 on pages 17, 20, and 21. The lean1 scheme is used for the graphs on this page.  To download this Stata scheme, use the findit command. For these examples, we are entering a dataset.
input subject time censor
  1 6  1
  2 44 1
  3 21 0
  4 14 1
  5 62 1
  end
list, clean

       subject   time   censor  
  1.         1      6        1  
  2.         2     44        1  
  3.         3     21        0  
  4.         4     14        1  
  5.         5     62        1  

stset time, id(subject) failure(censor)
sts list

         failure _d:  censor
   analysis time _t:  time
                 id:  subject

           Beg.          Net            Survivor      Std.
  Time    Total   Fail   Lost           Function     Error     [95% Conf. Int.]
-------------------------------------------------------------------------------
     6        5      1      0             0.8000    0.1789     0.2038    0.9692
    14        4      1      0             0.6000    0.2191     0.1257    0.8818
    21        3      0      1             0.6000    0.2191     0.1257    0.8818
    44        2      1      0             0.3000    0.2387     0.0123    0.7192
    62        1      1      0             0.0000         .          .         .
-------------------------------------------------------------------------------

sts graph, xlabel(0(12)60) ylabel(0(.2)1, nogrid angle(horizontal)) ///
           xtitle(Survival Time) ytitle(Esitmated Survival Probabiltiy) /// 
            title(Figure 2.1)

         failure _d:  censor
   analysis time _t:  time
                 id:  subject


Figure 2.2 on page 22. This graph is generated using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100, clear
gen fyear=foltime/365.25
stset fyear, id(id) failure(folstatus)
sts graph, xlabel(0(2)8) ylabel(0(.2)1, nogrid angle(horizontal)) ///
            xtitle(Survival Time (Years)) ytitle(Estimated Survival Probability) ///
            title(Figure 2.2)

         failure _d:  folstatus
   analysis time _t:  fyear
                 id:  id


Table 2.3 on page 23 using the whas100 dataset.
stset foltime, fail(folstatus)
sts list, enter

         failure _d:  folstatus
   analysis time _t:  foltime

           Beg.                         Survivor      Std.
  Time    Total   Fail   Lost  Enter    Function     Error     [95% Conf. Int.]
-------------------------------------------------------------------------------
     0        0      0      0    100      1.0000         .          .         .
     6      100      2      0      0      0.9800    0.0140     0.9224    0.9950
    14       98      1      0      0      0.9700    0.0171     0.9099    0.9902
    44       97      1      0      0      0.9600    0.0196     0.8969    0.9848
    62       96      1      0      0      0.9500    0.0218     0.8840    0.9789
    89       95      1      0      0      0.9400    0.0237     0.8713    0.9726

...additional output omitted...

  2641        3      0      1      0      0.3606    0.0857     0.1997    0.5241
  2710        2      1      0      0      0.1803    0.1345     0.0179    0.4820
  2719        1      0      1      0      0.1803    0.1345     0.0179    0.4820
-------------------------------------------------------------------------------

Table 2.4 on page 24  using the whas100 dataset.
stset fyear, id(id) failure(folstatus)
ltable fyear folstatus, saving(ltable1, replace)

                 Beg.                                 Std.
   Interval     Total   Deaths   Lost    Survival    Error     [95% Conf. Int.]
-------------------------------------------------------------------------------
    0     1       100       20      0     0.8000    0.0400     0.7074    0.8660
    1     2        80        5      0     0.7500    0.0433     0.6529    0.8236
    2     3        75        7      0     0.6800    0.0466     0.5790    0.7617
    3     4        68        4      0     0.6400    0.0480     0.5377    0.7254
    4     5        64        6      0     0.5800    0.0494     0.4772    0.6696
    5     6        58        5     39     0.5047    0.0532     0.3965    0.6032
    6     7        14        2      0     0.4326    0.0656     0.3027    0.5556
    7     8        12        2     10     0.3090    0.0875     0.1520    0.4808
-------------------------------------------------------------------------------

Figure 2.3 on page 25. This graph is produced using a dataset created in the previous example (ltable1).
use http://www.ats.ucla.edu/stat/examples/asa2/ltable1, clear

set obs 9
replace t1=0 in l
replace survival=1 in l
sort t1

twoway line survival t1, con(J) ylabel(0(.2)1) ///
   xlabel(0(2)8) xtitle(Survival Time (Years)) ytitle(Estimated Survival Probability) ///
   title(Figure 2.3)


Figure 2.4 on page 26. This graph depicts the polygon representation of the life-table estimate from the dataset in the above example (ltable1).
twoway connect survival t1, msymbol(o) ylabel(0(.2)1) ///
   xlabel(0(2)8) xtitle(Survival Time (Years)) ytitle(Estimated Survival Probability) ///
   title(Figure 2.4)


Figure 2.5 on page 31 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100, clear
gen fyear = foltime/365.25
stset fyear, id(id) failure(folstatus)
sts gen s=s se=se(s) ub=ub(s) lb=lb(s)
sort fyear

twoway (line s fyear, con(J))(line ub fyear, con(J))(line lb fyear, con(J)), ///
   legend(off) xtitle(Survival Time (Years)) ytitle(Estimated Survival Probability) ///
   title(Figure 2.5)


Figure 2.6 on page 32. For this figure, we continue to use the whas100 dataset from the example above.
* log-log transformation
gen ll_s = se/(s*ln(s))
gen ll_l = exp(- exp(ln(-ln(s))  - 1.96*ll_s))
gen ll_u = exp(- exp(ln(-ln(s))  + 1.96*ll_s)) 

* log transformation, formula 2.3
gen log_s = se/s
gen log_l  = s*exp( - 1.96*log_s)
gen log_u  = s*exp(   1.96*log_s)

* logit transformation. f'=1/(S(t)*(1-S(t))
gen logit_s = se/(s*(1-s))
gen logit_surv = ln(s/(1-s))
gen logit_l   = exp(logit_surv  - 1.96*logit_s)/(1+exp(logit_surv   - 1.96*logit_s))
gen logit_u  = exp(logit_surv  + 1.96*logit_s)/(1+exp(logit_surv + 1.96*logit_s))

* arcsine transformation
gen arcs_s = se/sqrt(1-s^2)
gen arcs_surv = asin(s)

gen arcs_l   = sin(arcs_surv  - 1.96*arcs_s)
gen arcs_u  = sin(arcs_surv + 1.96*arcs_s)

sort fyear
twoway (line s fyear, con(J)) ///
       (line ll_u ll_l fyear, con(J J) lpattern(dash dash) lcolor(black black)) ///
       (line log_u log_l fyear, con(J J) lpattern(dash_dot dash_dot) lcolor(black black)) ///
       (line logit_u logit_l fyear, con(J J) lpattern(longdash longdash) lcolor(black black)) ///
       (line arcs_u arcs_l fyear, con(J J) lpattern(shortdash shortdash) lcolor(black black)), ///
       l2title(Estimated Survival Probability, size(medsmall)) ///
       legend(off) ylabel(,nogrid angle(horizontal)) yscale(titlegap(3)) xscale(titlegap(3)) ///
       xtitle(Survival Time (Years)) title(Figure 2.6) 

Figure 2.7 on page 34 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100, clear
gen fyear = foltime/365.25
stset fyear, failure(folstatus)

sts gen s=s se=se(s) ub=ub(s) lb=lb(s)

* compute the variance of the log of the Kaplan-Meier estimateor
gen sigma2 = se^2/s^2

* what is H_a_alpha in formula (29)?
* compute "a" first. Notice that the largest noncensored vlaue of time is 2710, or 7.42 years
* n = 100 cases 
* notice the value for sigma2 when time = 7.42 is .557 
* a = 100*557/(1+100*557) 
* looking up the table from Appendix 3: we get H = 1.358
gen bl  = ln(-ln(s)) - 1.358*(1+100*sigma2)/(sqrt(100)*ln(s))
gen bu  = ln(-ln(s)) + 1.358*(1+100*sigma2)/(sqrt(100)*ln(s))
gen ebl  = exp(-exp(bu))
gen ebu  = exp(-exp(bl))
gen var2_6 = se^2/(s^2*(ln(s))^2)
gen cl  =ln(-ln(s)) - 1.96*sqrt(var2_6) 
gen cu  =ln(-ln(s)) + 1.96*sqrt(var2_6)
gen l = exp(-exp(cu))
gen u = exp(-exp(cl))

sort fyear
twoway (line s fyear, c(J) clcolor(black)) ///
       (line ebl ebu fyear, c(J J) clcolor(black black) clpattern("-..-" "-..-") ) ///
       (line l u fyear,     c(J J) clcolor(black black) clpattern("-" "-")) , ///
        yscale(range(0(0.2)1))  l2title(Estimated Survival Probability, size(medsmall)) ///
        legend( off) ylabel(,nogrid angle(horizontal)) yscale(titlegap(3)) xscale(titlegap(3)) ///
        xtitle(Survival Time (Years)) title(Figure 2.7) 

Figure 2.8 on page 35.  For this example, we will enter a dataset.
clear
input subject time censor
  1 6  1
  2 44 1
  3 21 0
  4 14 1
  5 62 1
end

stset time, id(subject) failure(censor)

sts graph, scheme(s2mono) xline(14 44, lpattern(dash)) /// 
    yline(.25 .5 .75, lpattern(dash)) ///
    ylabel(0(.25)1, angle(0)) ///
    xlabel(0(12)60) xtitle(Survival Time) ytitle(Estimated Survival Probability) ///
    title(Figure 2.8)

         failure _d:  censor
   analysis time _t:  time
                 id:  subject


Table 2.5 on page 39. Note that Stata computes the confidence intervals differently from the book.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100, clear
generate fyear = foltime/365.25
stset fyear, id(id) failure(folstatus)

stsum

         failure _d:  folstatus
   analysis time _t:  fyear
                 id:  id

         |               incidence       no. of    |------ Survival time -----|
         | time at risk     rate        subjects        25%       50%       75%
---------+---------------------------------------------------------------------
   total |   412.156056   .1237395           100   1.472964   6.02601  7.419576

stci

         failure _d:  folstatus
   analysis time _t:  fyear
                 id:  id

             |    no. of 
             |  subjects         50%     Std. Err.     [95% Conf. Interval]
-------------+-------------------------------------------------------------
       total |       100     6.02601      .5603603      4.44627    7.41958

stci, p(25)

         failure _d:  folstatus
   analysis time _t:  fyear
                 id:  id

             |    no. of 
             |  subjects         25%     Std. Err.     [95% Conf. Interval]
-------------+-------------------------------------------------------------
       total |       100    1.472964      .7682197      .750171    3.29911

stci, p(75)

         failure _d:  folstatus
   analysis time _t:  fyear
                 id:  id

             |    no. of 
             |  subjects         75%     Std. Err.     [95% Conf. Interval]
-------------+-------------------------------------------------------------
       total |       100    7.419576      .1409315      7.18412          .

Table 2.6 on page 41. We are using the whas100 dataset from the example above.

sts gen s=s sell=se(lls)
sort fyear
generate z50 = abs(ln(-ln(s))-ln(-ln(.5)))/sell
clist fyear s z50 if z50<1.96 & folstatus==1, noobs
    fyear           s        z50
  4.44627          .6   1.909514
 4.569473         .59   1.726938
 4.944559         .58   1.542441
 5.130733   .56884615   1.331001
 5.221081   .55674304   1.097873
 5.508556   .54036825   .7719651
 5.560575   .52348174   .4438371
 5.653662   .50478596   .0889862
  6.02601   .46872982   .5208178
 6.628337   .43267368   1.042136
 7.184121    .3605614   1.657685

Figure 2.9 on page 46 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100.dta, clear
gen fyear=foltime/365.25
stset fyear, fail(folstatus)
sts gen Sm=s  if gender==0
sts gen Sf=s  if gender==1

label variable Sm "Estimated Survival Probability (Males)"
label variable Sf "Estimated Survival Probability (Females)"

sort fyear

scatter Sm Sf fyear, ms( none none) c(J J ) yscale(range(0,1)) clpattern(_ ".-." ) ///
  legend(row(2) col(1) order(1 "Males" 2 "Females") ring(0) position(7)) ///
  ytitle(Estimated Survival Probability)  ylabel(,nogrid angle(horizontal)) ///
  yscale(titlegap(3)) xtitle(Survival Time (Years)) xscale(titlegap(3)) ///
  title(Figure 2.9)

Tables 2.9 and 2.10 on page 50. For this example, we enter in the data found in Table 2.9.

clear
input time d1 n1 d n
  6    0  5  1  9    
 14    1  5  1  8    
 44    1  4  1  7    
 98    1  2  2  4    
104    1  1  1  2    
114    0  0  1  1    
end 

gen e1 = n1*d/n
gen v1 =n1*(n-n1)*d*(n-d)/(n^2*(n-1))
replace v1 = 0 if v1==.
gen L = 1
gen W = n
gen T = sqrt(n)

gen P = (n+1-d)/(n+1) in 1
replace P =P[_n-1]*(n+1-d)/(n+1) in 2/l
format e1 v1 L W T P %5.2f
list, noobs clean
    time   d1   n1   d   n     e1     v1      L      W      T      P  
       6    0    5   1   9   0.56   0.25   1.00   9.00   3.00   0.90  
      14    1    5   1   8   0.63   0.23   1.00   8.00   2.83   0.80  
      44    1    4   1   7   0.57   0.24   1.00   7.00   2.65   0.70  
      98    1    2   2   4   1.00   0.33   1.00   4.00   2.00   0.42  
     104    1    1   1   2   0.50   0.25   1.00   2.00   1.41   0.28  
     114    0    0   1   1   0.00   0.00   1.00   1.00   1.00   0.14  

Table 2.11 on page 51 using the data above and the formula (2.21) on page 47 showing how the tests are calculated.

tempvar numerator denominator
gen `numerator' = .
gen `denominator' = .

foreach w of varlist L W T P {
   quietly replace `numerator' = `w'*(d1 - e1)
   quietly sum `numerator'
   local t = (r(sum))^2
   quietly replace  `denominator' = `w'^2*v1
   quietly sum `denominator'
   local b = r(sum)
   local Q = `t'/`b'
   local pvalue =chi2tail(1, `Q') 
   noisily display "Using weight `w': Q: "   %5.2f  `Q' "  p-value: " %5.2f  `pvalue'
}
Using weight L: Q:  0.43  p-value:  0.51
Using weight W: Q:  0.07  p-value:  0.78
Using weight T: Q:  0.20  p-value:  0.66
Using weight P: Q:  0.11  p-value:  0.75

Table 2.12 on page 51 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100.dta,clear
gen fyear=foltime/365.25
stset fyear, fail(folstatus)
sts test gender, logrank

         failure _d:  folstatus
   analysis time _t:  fyear


Log-rank test for equality of survivor functions

       |   Events         Events
gender |  observed       expected
-------+-------------------------
0      |        28          34.62
1      |        23          16.38
-------+-------------------------
Total  |        51          51.00

             chi2(1) =       3.97
             Pr>chi2 =     0.0463

sts test gender, wilcoxon

         failure _d:  folstatus
   analysis time _t:  fyear


Wilcoxon (Breslow) test for equality of survivor functions

       |   Events         Events        Sum of
gender |  observed       expected        ranks
-------+--------------------------------------
0      |        28          34.62         -459
1      |        23          16.38          459
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(1) =       3.46
             Pr>chi2 =     0.0628

sts test gender, tware

         failure _d:  folstatus
   analysis time _t:  fyear


Tarone-Ware test for equality of survivor functions

       |   Events         Events        Sum of
gender |  observed       expected        ranks
-------+--------------------------------------
0      |        28          34.62   -53.311804
1      |        23          16.38    53.311804
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(1) =       3.69
             Pr>chi2 =     0.0549

sts test gender, peto

         failure _d:  folstatus
   analysis time _t:  fyear


Peto-Peto test for equality of survivor functions

       |   Events         Events        Sum of
gender |  observed       expected        ranks
-------+--------------------------------------
0      |        28          34.62   -4.9007719
1      |        23          16.38    4.9007719
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(1) =       3.85
             Pr>chi2 =     0.0497

Table 2.13 on page 52 using the whas100 dataset.
recode age 32/59=1 60/69=2 70/79=3 80/92=4, gen(agecat)
(100 differences between age and agecat)

table agecat, cont(freq sum folstatus)

----------------------------------------
RECODE of |
age       |         Freq.  sum(folsta~s)
----------+-----------------------------
        1 |            25              8
        2 |            23              7
        3 |            22             14
        4 |            30             22
----------------------------------------

stci, by(agecat) median  /* confidence intervals differ from book */

         failure _d:  folstatus
   analysis time _t:  fyear

             |    no. of 
agecat       |  subjects         50%     Std. Err.     [95% Conf. Interval]
-------------+-------------------------------------------------------------
           1 |        25           .             .      4.31759          .
           2 |        23    7.184121      .0069868      7.18412          .
           3 |        22    4.944559      .3229116      .750171    6.62834
           4 |        30    2.302532      .9444395       .99384    5.65366
-------------+-------------------------------------------------------------
       total |       100     6.02601      .5603603      4.44627    7.41958

Figure 2.10 on page 55 continuing with the whas100 dataset.
sts gen Sage1=s if age<60
sts gen Sage2=s if age>=60 & age<=69
sts gen Sage3=s if age>=70 & age<=79
sts gen Sage4=s if age>=80

preserve
set obs 101

replace fyear = 0 in 101
replace Sage1 = 1 in 101
replace Sage2 = 1 in 101
replace Sage3 = 1 in 101
replace Sage4 = 1 in 101

sort fyear

scatter Sage1 Sage2 Sage3 Sage4 fyear, ms(none none none none) c(J J J J) ylabel(0(0.2)1) ///
         clpattern(_ ".-."  "-..-" . " -.-") clcolor(black black black black) ///
         legend(row(4) col(1) order(1 "Age < 60" 2 "60 <= Age < 69" 3 "70 <= Age < 79" 4 "Age >=  80") ///
         ring(0) size(medsmall) pos(7) region(lc(white)) ) graphregion(color(white)) ///
         ytitle(Estimated Survival Probability,)  ylabel(,nogrid angle(horizontal)) ///
         yscale(titlegap(3)) xtitle(Survival Time (Years)) xscale(titlegap(3)) title(Figure 2.10)

Table 2.15 on page 56 continuing with the whas100 dataset. 

restore
sts test agecat, logrank

         failure _d:  folstatus
   analysis time _t:  fyear


Log-rank test for equality of survivor functions

       |   Events         Events
agecat |  observed       expected
-------+-------------------------
1      |         8          15.52
2      |         7          12.92
3      |        14          10.23
4      |        22          12.34
-------+-------------------------
Total  |        51          51.00

             chi2(3) =      15.57
             Pr>chi2 =     0.0014

sts test agecat, wilcoxon

         failure _d:  folstatus
   analysis time _t:  fyear


Wilcoxon (Breslow) test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
1      |         8          15.52         -490
2      |         7          12.92         -385
3      |        14          10.23          201
4      |        22          12.34          674
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      12.30
             Pr>chi2 =     0.0064

sts test agecat, tware

         failure _d:  folstatus
   analysis time _t:  fyear


Tarone-Ware test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
1      |         8          15.52   -56.455489
2      |         7          12.92   -47.843612
3      |        14          10.23    26.687211
4      |        22          12.34    77.611891
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      13.52
             Pr>chi2 =     0.0036

sts test agecat, peto

         failure _d:  folstatus
   analysis time _t:  fyear


Peto-Peto test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
1      |         8          15.52   -5.6021925
2      |         7          12.92   -4.0442861
3      |        14          10.23    2.3329794
4      |        22          12.34    7.3134991
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      14.54
             Pr>chi2 =     0.0023

Table 2.16 on page 57 using the whas100 dataset and the coding scheme defined on page 54.
recode agecat 1=46 2=65 3=75 4 = 86
sts test agecat, logrank trend

         failure _d:  folstatus
   analysis time _t:  fyear


Log-rank test for equality of survivor functions

       |   Events         Events
agecat |  observed       expected
-------+-------------------------
46     |         8          15.52
65     |         7          12.92
75     |        14          10.23
86     |        22          12.34
-------+-------------------------
Total  |        51          51.00

             chi2(3) =      15.57
             Pr>chi2 =     0.0014

Test for trend of survivor functions

             chi2(1) =      12.44
             Pr>chi2 =     0.0004

sts test agecat, wilcoxon trend

         failure _d:  folstatus
   analysis time _t:  fyear


Wilcoxon (Breslow) test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
46     |         8          15.52         -490
65     |         7          12.92         -385
75     |        14          10.23          201
86     |        22          12.34          674
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      12.30
             Pr>chi2 =     0.0064

Test for trend of survivor functions

             chi2(1) =       9.99
             Pr>chi2 =     0.0016

sts test agecat, tware trend


         failure _d:  folstatus
   analysis time _t:  fyear


Tarone-Ware test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
46     |         8          15.52   -56.455489
65     |         7          12.92   -47.843612
75     |        14          10.23    26.687211
86     |        22          12.34    77.611891
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      13.52
             Pr>chi2 =     0.0036

Test for trend of survivor functions

             chi2(1) =      10.70
             Pr>chi2 =     0.0011

sts test agecat, peto trend

         failure _d:  folstatus
   analysis time _t:  fyear


Peto-Peto test for equality of survivor functions

       |   Events         Events        Sum of
agecat |  observed       expected        ranks
-------+--------------------------------------
46     |         8          15.52   -5.6021925
65     |         7          12.92   -4.0442861
75     |        14          10.23    2.3329794
86     |        22          12.34    7.3134991
-------+--------------------------------------
Total  |        51          51.00            0

             chi2(3) =      14.54
             Pr>chi2 =     0.0023

Test for trend of survivor functions

             chi2(1) =      12.08
             Pr>chi2 =     0.0005

Figure 2.11 on page 58 using the bpd dataset.

use http://www.ats.ucla.edu/stat/examples/asa2/bpd, clear

stset ondays, fail(censor)

sts gen s0=s  if surfact==0
sts gen s1=s  if surfact==1

replace s0=1 if s0!=. & ondays==0
replace s1=1 if s1!=. & ondays==0

sts graph, by(surfact) ylabel(0(.2)1) legend( row(2) ring(0) position(1)) ///
   xtitle(Days on Oxygen) ytitle(Estimated Aurvival Probability) ///
   ylabel(, nogrid) title(Figure 2.11)


Table 2.17 on page 58 using the bpd dataset.
sts test suf, logrank

         failure _d:  censor
   analysis time _t:  days


Log-rank test for equality of survivor functions

      |   Events         Events
suf   |  observed       expected
------+-------------------------
0     |        40          48.95
1     |        33          24.05
------+-------------------------
Total |        73          73.00

            chi2(1) =       5.62
            Pr>chi2 =     0.0178

sts test suf, wilcoxon

         failure _d:  censor
   analysis time _t:  days


Wilcoxon (Breslow) test for equality of survivor functions

      |   Events         Events        Sum of
suf   |  observed       expected        ranks
------+--------------------------------------
0     |        40          48.95         -310
1     |        33          24.05          310
------+--------------------------------------
Total |        73          73.00            0

            chi2(1) =       2.49
            Pr>chi2 =     0.1146

sts test suf, tware

         failure _d:  censor
   analysis time _t:  days


Tarone-Ware test for equality of survivor functions

      |   Events         Events        Sum of
suf   |  observed       expected        ranks
------+--------------------------------------
0     |        40          48.95   -50.779103
1     |        33          24.05    50.779103
------+--------------------------------------
Total |        73          73.00            0

            chi2(1) =       3.70
            Pr>chi2 =     0.0545

sts test suf, peto

         failure _d:  censor
   analysis time _t:  days


Peto-Peto test for equality of survivor functions

      |   Events         Events        Sum of
suf   |  observed       expected        ranks
------+--------------------------------------
0     |        40          48.95   -3.9371075
1     |        33          24.05    3.9371075
------+--------------------------------------
Total |        73          73.00            0

            chi2(1) =       2.53
            Pr>chi2 =     0.1114

Figure 2.12 on page 61 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100.dta, clear
gen fyear = foltime/365.25
stset fyear, fail(folstatus)

sts gen skm=s sna=na snalb=lb(na) snaub=ub(na) skmlb=lb(s) skmub=ub(s)

replace sna=exp(-sna)
replace snaub=exp(-snaub)
replace snalb=exp(-snalb)

twoway line sna snalb skm skmlb snaub skmub fyear, sort c(J J J J J J) yscale(range(0,1)) ///
   clpattern(. ".-."  - "..-.." ".-." "..-..") ///
   legend(row(2) col(2) ///
   order(1 "Nelson-Aalen"  2 "N-A Limits" 3  "Kaplan-Meier" 4 "K-M Limits") ///
   ring(0) size(medsmall) pos(7) region(lc(white)) ) graphregion(color(white)) ///
   ytitle(Estimated Survival Probability)  ylabel(,nogrid angle(horizontal)) ///
   yscale(titlegap(3)) xscale(titlegap(3)) xtitle(Survival time (Years)) ///
   title(Figure 2.12)

 

Figure 2.13 on page 62 using the whas100 dataset.
sts graph, cumhaz ytitle(Nelson-Aalen Estimated Cumulative Hazard Function) ///
   xtitle(Survival Time (Years)) ylabel(,nogrid) title(Figure 2.13)

Figure 2.14 on page 64 using the whas100 dataset.
use http://www.ats.ucla.edu/stat/examples/asa2/whas100.dta, clear
gen fyear = foltime/365.25
stset fyear, fail(folstatus)

sts graph, hazard cih title(Figure 2.14) xtitle(Survival Time (Years)) ///
   ytitle("Smoothed Estimated Hazard")  ylabel(0(.2)1, nogrid angle(horizontal)) ///
   yscale(titlegap(3)) xscale(titlegap(3)) noboundary ///
   legend (off) ciopts(lpattern(dash) lcolor(black) fcolor(none))

How to cite this page

Report an error on this page

UCLA Researchers are invited to our Statistical Consulting Services
We recommend others to our list of Other Resources for Statistical Computing Help
These pages are Copyrighted (c) by UCLA Academic Technology Services


The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California.