Sas 多响应变量的Sgplot

Sas 多响应变量的Sgplot,sas,Sas,我有一个超过50000条记录的数据集,如下所示:;ID、季节(高或低)、卧床时间和分诊时间(分钟): ID Season Bed_time Triage_time 1 high 34 68 2 low 44 20 3 high 90 14 4 low 71 88 5 low 27 54 我想创建一个分组垂直条形图,其中床上时间

我有一个超过50000条记录的数据集,如下所示:;ID、季节(高或低)、卧床时间和分诊时间(分钟):

 ID Season Bed_time Triage_time 
 1  high    34            68
 2  low     44            20
 3  high    90            14
 4  low     71            88
 5  low     27            54
我想创建一个分组垂直条形图,其中床上时间和分诊时间均反映为中位数,并在X轴上按季节分组:

 |   |                       |
 |   |                   |   |
 |   |    |              |   |
 |-------------------------------
     BT  TT              BT  TT
      High                 Low
我想我必须转换数据,然后插入SGPLOT,但我不太确定如何确保数据可以被绘制出来

 proc sgplot data=mysas.projects;
 vbar season/ stat=median 
 group=[Bed_time Triage_time] /*NEED FROM TRANSPOSED DATA*/
 groupdisplay=cluster;
 run;
 quit;

实际上,要使用
group
call,您需要将数据从宽改为长。此外,您还需要包括一个
响应
调用。考虑<代码> PROC转置< /代码>整形:

*** POSTED DATA
data time_data;
   length Season $ 5;
   input ID Season $ Bed_time Triage_time;   
   cards;
 1  high    34            68
 2  low     44            20
 3  high    90            14
 4  low     71            88
 5  low     27            54
;
run;

*** RESHAPE LONG TO WIDE;
proc transpose 
    data = time_data
    out = time_data_long
    name = time_group;
    by ID Season;
run;

*** CLEAN UP OUTPUT;
data time_data_long;
    set time_data_long;

    label time_group = "Time Group";
    rename col1 = value;
run;

proc sgplot data=time_data_long;
    vbar season / response=value stat=median 
    group = time_group
    groupdisplay=cluster;
run;