SAS-生存曲线的绘制...

2019-10-20 14:33:27 浏览数 (2)

生存分析是临床试验中经常用到的一种方法,生存曲线的绘制当然也是非常常见的,常见于肿瘤、绝症相关的研究中...今天小编打算分享一段小编画生存曲线的一段代码...

生存分析

嗯,既然分析就需要有数据,下面数据是小编很久以前百度生存分析的时候,在网上找的用作测试的数据集。

上面数据group表示组别,t表示存活的时间(月),censor表示删失。

在proc lifetest过程中一般是可以直接输出生存分析的图,自带输出的图是有点难看的,而且不能很自由的控制...所以呀,往往我们不直接采用proc lifetest过程步输出图,而是自己来画图...下面来看看proc lifetest自带图的效果...

代码语言:javascript复制
proc lifetest data=have method=km  plots=survival;
time t * censor(0);
strata group ;
run;

上面过程输出的图如下

虽然不可否认内容都在

但是也不得不承认还是比较丑的

为了画出看着顺眼的图,就得稍微变通一下

1.先采用ods output语句,将生存分析的数据集输出。

代码语言:javascript复制
ods listing;
ods exclude all;
ods output  Survivalplot=want ;
proc lifetest data=have method=km  plots=survival;
time t * censor(0);
strata group ;
run;
ods listing close;
ods listing;
ods exclude none;

ods output Survivalplot=want会生成一个数据集want。(ods output相关介绍可见小编历史文章点击跳转

SAS-那些统计过程步的统计量的输出...

2.将数据集中率转换成百分比,也就是乘以100,这样会好看一些。

3.在做完以上操作后就可以用proc sgplot来画图了,当然也能通过gtl画,今天这里就仅使用proc sgplot语句画图.

代码语言:javascript复制
ods rtf file="C:UsersAdministrator.BF-20180423ODYZDesktop日常练习Macro_Testtest.rtf";
  ods graphics / width=600px height=450px border=off;
  proc sgplot data=want noborder ;
    styleattrs datacontrastcolors=( blue red) datalinepatterns=(solid shortdash) datasymbols=(circle triangle);
    step x=time y=Survival / group=stratum name='L1' ;
    scatter x=time y=censored  / group=stratum    name='L2' ;
    keylegend 'L1' / location=outside  border  ACROSS=2 ;
    keylegend 'L2' / location=inside position=topright   border   title="删失"  ACROSS=2 ;
    xaxis label="生存时间(月)"  values=(0 20 40 60  80 100 120) ;
    yaxis label="生存率(%)";
  run;
run;
ods rtf close;

输出结果如下

显然是比系统自带输出的要好看很多。

0 人点赞