关于SAS GTL输出Figure的分组(Group)问题的分享1

在临床试验SAS编程中,会遇到输出不同试验组的观测指标的各类图形,我分享一下在这个过程中处理分组(Group)问题的一些想法。

关于图形输出的分组处理,通常有两种处理方法:

  1. 将不同分组的反应变量,做成不同的变量,用多个出图语句对新生成的反应变量进行处理;
  2. 应用Group选项,用一个出图语句生成每一分组对应的图形。

以SAS中自带的Stocks数据集,进行编程说明。Sashelp.Stocks数据集中收集IBM、Intel、Microsoft三家公司从86年到05年每月初的价股票价格成交信息,我们使用02年的数据,输出这三个公司这一年股价的走势图。

处理方法一:将股票收盘价Close,根据公司Stock的不同,赋值到新变量Close_IBM、Close_Intel、Close_Microsoft中,用三个Seriesplot语句进行图形输出。

***Get data for figure put;
data stocks1;
  set sashelp.stocks(where=(date between "1jan02"d and "31dec02"d));
  format date MONNAME3.;
  
  if stock = "IBM" then close_ibm = close;
  else if stock = "Intel" then close_intel = close;
  else if stock = "Microsoft" then close_microsoft = close;
run;

***Create figure template;
proc template;
  define statgraph Seriesplot1;
    begingraph;
      layout overlay/
        yaxisopts=(label="Close")
        xaxisopts=(label="Month" type=discrete);

        seriesplot y = close_ibm x = date /  name = "Seriousplot1";
        seriesplot y = close_intel x = date /  name = "Seriousplot2";
        seriesplot y = close_microsoft x = date /  name = "Seriousplot3";    
      endlayout;
    endgraph;
  end;
run;

***Render template;
proc sgrender data=stocks1 template=Seriesplot1;
run;

方法一的输出结果:


方法一

处理方法二:应用Group选项,将stock作为分组变量,用一个出图语句生成每一分组对应的图形。具体的代码如下:

***Get data for figure put;
data stocks2;
  set sashelp.stocks(where=(date between "1jan02"d and "31dec02"d));
  format date MONNAME3.;
run;

***Create figure template;
proc template;
  define statgraph Seriesplot2;
    begingraph;
      layout overlay/
        yaxisopts=(label="Close")
        xaxisopts=(label="Month" type=discrete);

        seriesplot y = close x = date / group = stock groupdisplay = cluster name = "Seriousplot";
 
      endlayout;
    endgraph;
  end;
run;

***Render template;
proc sgrender data=stocks2 template=Seriesplot2;
run;

方法二的输出结果:


方法二

示例代码只是简单的输出的折线图,关于图的其他属性都没有进行额外的设置。从图中可以看到,第二种方法中Group选项会自动给不同分组的线图分配不同的颜色;方法一中3条线图的属性都相同,在实际运用中需要对其线的属性单独设置。

我会在接下来的文章中继续分享有关Figure分组的问题(分组的属性设置、方法一的适用范围等)。

若有疑问,欢迎评论区留言讨论。

相关文章:
关于SAS GTL输出Figure的分组(Group)问题的分享2--Legend设置
关于SAS GTL输出Figure的分组(Group)问题的分享3--Group选项的属性设置
关于SAS GTL输出Figure的分组(Group)问题的分享4--图标(Legend)内容的设置

你可能感兴趣的:(关于SAS GTL输出Figure的分组(Group)问题的分享1)