准备花时间深入学习SAS的画图功能,主要方式是看到好的统计图反过来研究具体的SAS程序,我会不定期更新学习笔记。
另外找了一些资料,供大家参考学习。
http://robslink.com/SAS/Home.htm
https://blogs.sas.com/content/topic/data-visualization/
- %macro comment(); /*这是一种比较特殊的注释方式*/
- Picture: Dose Response Plot (Clinical Trial Reporting)
- Software: SAS 9.4 TS Level 1M2
- Name: justsoso
- Date: 20171129
- From: Clinical Trial Reporting Using SAS/GRAPH® SG Procedures
- http://support.sas.com/resources/papers/proceedings09/174-2009.pdf
- History: 20171129;
- %mend;
- /*建立数据集response,用于后续画图*/
- data response;
- label response = 'Mean Clinical Response' /*label会体现在图的x、y轴label*/
- visit = 'Visit';
- input response /*临床上关注的某个定量指标*/
- visit /*访视次数,第0天、第1天……*/
- trt @@; /*处理因素(药物种类)*/
- cards;
- 9.4 0 1 9.35 1 1 8.1 2 1 6.3 3 1 4 4 1 2.2 5 1 1.6 6 1 1.3 7 1 0.7 8 1
- 0.8 9 1 0.65 10 1 9.35 0 2 9.37 1 2 8.7 2 2 8.2 3 2 7.8 4 2 4.4 5 2
- 2 6 2 1.9 7 2 1.5 8 2 1.4 9 2 1.2 10 2
- ;
- run;
- /*自定义格式,用于刻度值的自定义显示*/
- proc format;
- value visitfmt
- 0 = "Baseline" 1 = "Day 1" 2 = "Day 2" 3 = "Day 3"
- 4 = "Day 4" 5 = "Day 5" 6 = "Day 6" 7 = "Day 7"
- 8 = "Day 8" 9 = "Day 9" 10 = "Day 10";
- value trtfmt
- 1 = "Super Drug" 2 = "Old Drug";
- run;
- ods _all_ close; /*关闭所有ods destinations,避免不必要的输出,节省计算机资源*/
- ods listing gpath='C:\Users\Administrator\Desktop\test20171129';
- /*打开ods listing这一destination,指定图片保存路径,★★★★★需提前建立*/
- ods graphics on / imagename="picture" outputfmt=pdf; /*图片名称picture,输出类型pdf*/
- proc sgplot data=response;
- format visit visitfmt. trt trtfmt.; /*这里用到前面的自定义格式*/
- series x=visit y=response / group=trt markers;
- /*指定x、y轴变量,group指定分组变量,节点处画markers*/
- refline 1 / axis=x; /*x=1处画参考线*/
- keylegend / position=topright across=1 location=inside;
- /*画图例,位置右上,一列,在frame里面*/
- xaxis grid; /*画x轴网格线*/
- yaxis grid; /*画y轴网格线*/
- run;
- ods _all_ close;
- ods html; /*最好将ods destination恢复至默认的html*/