设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2689|回复: 0

SAS生存曲线的绘制

[复制链接]

11

主题

106

金钱

171

积分

入门用户

发表于 2019-10-22 14:39:53 | 显示全部楼层 |阅读模式

SAS生存曲线的绘制

生存分析
嗯,既然分析就需要有数据,下面数据是很久以前百度生存分析的时候,在网上找的用作测试的数据集。
1.png
上面数据group表示组别,t表示存活的时间(月),censor表示删失。

在proc lifetest过程中一般是可以直接输出生存分析的图,自带输出的图是有点难看的,而且不能很自由的控制...所以呀,往往我们不直接采用proc lifetest过程步输出图,而是自己来画图...下面来看看proc lifetest自带图的效果...
  1. proc lifetest data=have method=km  plots=survival;
  2. time t * censor(0);
  3. strata group ;
  4. run;
复制代码


上面过程输出的图如下
2.png

虽然不可否认内容都在

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

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

1.先采用ods output语句,将生存分析的数据集输出。
  1. ods listing;
  2. ods exclude all;
  3. ods output  Survivalplot=want ;
  4. proc lifetest data=have method=km  plots=survival;
  5. time t * censor(0);
  6. strata group ;
  7. run;
  8. ods listing close;
  9. ods listing;
  10. ods exclude none;
复制代码

ods output Survivalplot=want会生成一个数据集want。
3.png

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

3.在做完以上操作后就可以用proc  sgplot来画图了,当然也能通过gtl画,今天这里就仅使用proc  sgplot语句画图.
  1. ods rtf file="C:\Users\Administrator.BF-20180423ODYZ\Desktop\日常练习\Macro_Test\test.rtf";
  2.   ods graphics / width=600px height=450px border=off;
  3.   proc sgplot data=want noborder ;
  4.     styleattrs datacontrastcolors=( blue red) datalinepatterns=(solid shortdash) datasymbols=(circle triangle);
  5.     step x=time y=Survival / group=stratum name='L1' ;
  6.     scatter x=time y=censored  / group=stratum    name='L2' ;
  7.     keylegend 'L1' / location=outside  border  ACROSS=2 ;
  8.     keylegend 'L2' / location=inside position=topright   border   title="删失"  ACROSS=2 ;
  9.     xaxis label="生存时间(月)"  values=(0 20 40 60  80 100 120) ;
  10.     yaxis label="生存率(%)";
  11.   run;
  12. run;
  13. ods rtf close;
复制代码


输出结果如下
5.png
显然是比系统自带输出的要好看很多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表