proc lifetest data= fxf outsurv=plotdata;*输出生存数据集;
time qtime*censor(0);
strata group;
run;
你可以变换输出数据集的变量来作图. for example, prob=1-survival.其中有些细节还要处理。然后作qtime*prob的折线图。
proc lifetest data= fxf outsurv=plotdata;*输出生存数据集;
time qtime*censor(0);
strata group;
run;
proc sql;
create table plotdata_ as
select *
, ifn(censor=0 & missing(survival), min(survival), survival) as survival, *如果最后一个观测是censored,那么survival=最小的survival;
1-survival as prob
from plotdata group by group order by group,qtime;
quit;
symbol i=stepj;
proc gplot data=plotdata_;
plot qtime*prob=group;
run;
*没有试运行,如果有错误再讨论;
proc lifetest data=work.fxf outsurv = _KMplot noprint;
TtimeToSurv: time qtime*censor(0);
strata group;
run;
proc sql noprint;
create table KMplot as
select *
,ifn((survival=. & qtime^=0),min(survival) ,survival) as Surv
,1-calculated Surv as prob
from _KMplot
group by group
order by group
,qtime
;
drop table _KMplot
;
quit;
symbol i=stepj;
proc gplot data=kmPlot;
plot qtime*prob=group;
run;