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 ; ods graphics on / width=5in height=3.5in; ods output Survivalplot=SurvivalPlotData; proc lifetest data=BMT plots=survival(atrisk=0 to 2500 by 500); time T * Status(0); strata Group / test=logrank adjust=sidak; run; /*proc print data=SurvivalPlotData;run;*/ /*--Survival Plot with external "At Risk" Table--*/ proc template; define statgraph survival; begingraph; entrytitle 'Product-Limit Survival Estimates'; entrytitle 'With Number of Subjects at Risk' / textattrs=graphfootnote; layout lattice / rows=2 rowweights=(0.88 0.12) columndatarange=union rowgutter=10; layout overlay; stepplot x=time y=survival / group=stratum name='a'; scatterplot x=time y=censored / name='b' markerattrs=(symbol=plus); scatterplot x=time y=censored / group=stratum markerattrs=(symbol=plus); discretelegend 'a'; discretelegend 'b' / location=inside halign=right valign=top border=true; endlayout; layout overlay / walldisplay=none xaxisopts=(display=none); blockplot x=tatrisk block=atrisk / display=(label values) class=stratumnum valuehalign=start; endlayout; endlayout; endgraph; end; run; ods listing; ods graphics / reset width=5in height=3.5in imagename='survival'; proc sgrender data=SurvivalPlotData template=survival; run;