Sas 多响应变量的Sgplot
我有一个超过50000条记录的数据集,如下所示:;ID、季节(高或低)、卧床时间和分诊时间(分钟):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 我想创建一个分组垂直条形图,其中床上时间
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;