Hello all,
I am trying to create a clustered bar chart by patient grouped by treatment and then by patients internally at each timepoint. Below is my code. But despite of numerous combinations using grouporder=ascending or data the bars won't stack up by treatment (trtp2) first. Rather they are ordered by usubjid. I tried sorting by trtp2 alone without other variables also. Is there anything wrong that I am doing ?
proc sort data= mo out=mo2 ;
by atptn trtp2 usubjid ;
run;
proc sgpanel data=mo2 ;
panelby atptn / layout=columnlattice onepanel noborder colheaderpos=bottom novarname ;
vbar usubjid / response=aval group=trtp2
groupdisplay=cluster CLUSTERWIDTH= 1 grouporder=data;
colaxis display=(nolabel noticks );
rowaxis label=' ' grid offsetmax=0.025 ;
keylegend/ title="";
run;
Does this adaptation meet your expectations?
Could you please clarify how the graphic would look like?
proc sort data=mo out=mo2;
by atptn trtp2 usubjid;
run;
proc sgpanel data=mo2;
panelby atptn / layout=columnlattice onepanel noborder colheaderpos=bottom
novarname;
vbar trtp2 / response=aval group=usubjid groupdisplay=stack CLUSTERWIDTH=1
grouporder=data;
colaxis display=(nolabel noticks);
rowaxis label=' ' grid offsetmax=0.025;
keylegend/ title="";
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.