## How to get confidence interval for failure rate in proc lifetest

Solved
Frequent Contributor
Posts: 87

# How to get confidence interval for failure rate in proc lifetest

Hi Everyone,

I am doing a survival analysis using PROC lifetest. I want to get failure rate and its confidence interval at 12 month.below is my syntex and output:

proc lifetest data = ll atrisk;

strata intervene;

time month*status(0);

run;

Part of output:

 Month Number at risk observed event survival Failure survival SE 0 11 0 1 0 0 2.4658 11 1 0.9091 0.0909 0.0867 7.726 10 1 0.8182 0.1818 0.1163 8.1205 9 1 0.7273 0.2727 0.1343 11.1781 * 8 0 . . . 12.3288 * 7 0 . . . 12.4603 * 6 0 . . . 12.5589 * 5 0 . . . 17.3589 4 1 0.5455 0.4545 0.1869 23.9014 * 3 0 . . . 24.4603 * 2 0 . . .

Is there a way to dirrectly get failure rate and its 95%confidence interval?

Many Thanks!

Accepted Solutions
Solution
‎04-05-2016 11:41 AM
Super User
Posts: 20,731

## Re: How to get confidence interval for failure rate in proc lifetest

Failure = 1 - Survival.

You can calculate 1- number to get the failure values from the OUTSURV table.

Regardless here's the way to get SAS to do it, first you need to create the failure plot and specify cl options. Then use the graph to get the values using ODS OUTPUT.  A worked example follows.

I'm also not sure why your code works. There's no survival statement that I can see in the documentation, so it should create an error.

``````  proc format;
value risk 1='ALL' 2='AML-Low Risk' 3='AML-High Risk';

data BMT;
input Group T Status @@;
format Group risk.;
label T='Disease Free Time';
datalines;
1 2081 0 1 1602 0 1 1496 0 1 1462 0 1 1433 0
1 1377 0 1 1330 0 1  996 0 1  226 0 1 1199 0
1 1111 0 1  530 0 1 1182 0 1 1167 0 1  418 1
1  383 1 1  276 1 1  104 1 1  609 1 1  172 1
1  487 1 1  662 1 1  194 1 1  230 1 1  526 1
1  122 1 1  129 1 1   74 1 1  122 1 1   86 1
1  466 1 1  192 1 1  109 1 1   55 1 1    1 1
1  107 1 1  110 1 1  332 1 2 2569 0 2 2506 0
2 2409 0 2 2218 0 2 1857 0 2 1829 0 2 1562 0
2 1470 0 2 1363 0 2 1030 0 2  860 0 2 1258 0
2 2246 0 2 1870 0 2 1799 0 2 1709 0 2 1674 0
2 1568 0 2 1527 0 2 1324 0 2  957 0 2  932 0
2  847 0 2  848 0 2 1850 0 2 1843 0 2 1535 0
2 1447 0 2 1384 0 2  414 1 2 2204 1 2 1063 1
2  481 1 2  105 1 2  641 1 2  390 1 2  288 1
2  421 1 2   79 1 2  748 1 2  486 1 2   48 1
2  272 1 2 1074 1 2  381 1 2   10 1 2   53 1
2   80 1 2   35 1 2  248 1 2  704 1 2  211 1
2  219 1 2  606 1 3 2640 0 3 2430 0 3 2252 0
3 2140 0 3 2133 0 3 1238 0 3 1631 0 3 2024 0
3 1345 0 3 1136 0 3  845 0 3  422 1 3  162 1
3   84 1 3  100 1 3    2 1 3   47 1 3  242 1
3  456 1 3  268 1 3  318 1 3   32 1 3  467 1
3   47 1 3  390 1 3  183 1 3  105 1 3  115 1
3  164 1 3   93 1 3  120 1 3   80 1 3  677 1
3   64 1 3  168 1 3   74 1 3   16 1 3  157 1
3  625 1 3   48 1 3  273 1 3   63 1 3   76 1
3  113 1 3  363 1
;

proc lifetest data = bmt atrisk plots=survival(failure cl);
time T*status(0);
strata group ;
ods output failureplot=want;
run;
``````

All Replies
Super User
Posts: 20,731

## Re: How to get confidence interval for failure rate in proc lifetest

Use outsurv and timelist to specify your intervals.

Note that KM is non parametric so if there isn't an estimate for your specific time point it picks the nearest time with an estimate.

Frequent Contributor
Posts: 87

## Re: How to get confidence interval for failure rate in proc lifetest

Hi Reeza,

Thanks for your suggestion, I am still not get failure rate and its CI. Here is my syntax:

proc lifetest data = ll atrisk;

time month*status(0);

strata intervene ;

survival out=out1 ;

run;

proc print data=out1 noobs;

where 3 <=month<=12 & conftype~="";

run;

and my output:

intervene month _CENSOR_ SURVIVAL CONFTYPE SDF_LCL SDF_UCL STRATUM
Intervene 7.72602 0 0.81818 LOGLOG 0.44743 0.95116 1
Intervene 8.12054 0 0.72727 LOGLOG 0.37079 0.90283 1

Can you help me to get failure rate and its CI?

Thanks

Solution
‎04-05-2016 11:41 AM
Super User
Posts: 20,731

## Re: How to get confidence interval for failure rate in proc lifetest

Failure = 1 - Survival.

You can calculate 1- number to get the failure values from the OUTSURV table.

Regardless here's the way to get SAS to do it, first you need to create the failure plot and specify cl options. Then use the graph to get the values using ODS OUTPUT.  A worked example follows.

I'm also not sure why your code works. There's no survival statement that I can see in the documentation, so it should create an error.

``````  proc format;
value risk 1='ALL' 2='AML-Low Risk' 3='AML-High Risk';

data BMT;
input Group T Status @@;
format Group risk.;
label T='Disease Free Time';
datalines;
1 2081 0 1 1602 0 1 1496 0 1 1462 0 1 1433 0
1 1377 0 1 1330 0 1  996 0 1  226 0 1 1199 0
1 1111 0 1  530 0 1 1182 0 1 1167 0 1  418 1
1  383 1 1  276 1 1  104 1 1  609 1 1  172 1
1  487 1 1  662 1 1  194 1 1  230 1 1  526 1
1  122 1 1  129 1 1   74 1 1  122 1 1   86 1
1  466 1 1  192 1 1  109 1 1   55 1 1    1 1
1  107 1 1  110 1 1  332 1 2 2569 0 2 2506 0
2 2409 0 2 2218 0 2 1857 0 2 1829 0 2 1562 0
2 1470 0 2 1363 0 2 1030 0 2  860 0 2 1258 0
2 2246 0 2 1870 0 2 1799 0 2 1709 0 2 1674 0
2 1568 0 2 1527 0 2 1324 0 2  957 0 2  932 0
2  847 0 2  848 0 2 1850 0 2 1843 0 2 1535 0
2 1447 0 2 1384 0 2  414 1 2 2204 1 2 1063 1
2  481 1 2  105 1 2  641 1 2  390 1 2  288 1
2  421 1 2   79 1 2  748 1 2  486 1 2   48 1
2  272 1 2 1074 1 2  381 1 2   10 1 2   53 1
2   80 1 2   35 1 2  248 1 2  704 1 2  211 1
2  219 1 2  606 1 3 2640 0 3 2430 0 3 2252 0
3 2140 0 3 2133 0 3 1238 0 3 1631 0 3 2024 0
3 1345 0 3 1136 0 3  845 0 3  422 1 3  162 1
3   84 1 3  100 1 3    2 1 3   47 1 3  242 1
3  456 1 3  268 1 3  318 1 3   32 1 3  467 1
3   47 1 3  390 1 3  183 1 3  105 1 3  115 1
3  164 1 3   93 1 3  120 1 3   80 1 3  677 1
3   64 1 3  168 1 3   74 1 3   16 1 3  157 1
3  625 1 3   48 1 3  273 1 3   63 1 3   76 1
3  113 1 3  363 1
;

proc lifetest data = bmt atrisk plots=survival(failure cl);
time T*status(0);
strata group ;
ods output failureplot=want;
run;
``````

Frequent Contributor
Posts: 87

Reeza,