Hi community members,
I was trying to make a stacked bar graph but I am not sure why one of the categories for two variables reveresed their place. Please see the picture attached herewith. my code to produce the chart is:
ods graphics on;
PROC SGPLOT DATA = stress;
VBAR variable / RESPONSE = percent GROUP = endorsed STAT = SUM SEGLABEL CATEGORYORDER = RESPDESC;
YAXIS GRID LABEL = "Percentage";
RUN;
ods graphics off;
Thanks,
Pooja
I have a hunch about why this happened, but I cannot verify that without your data. However, I think I have determined that your data is pre-summarized, based on the graph and the options you used. Therefore, try this as a workaround:
proc sort data=stress out=stress2; by descending group descending percent; run;
ods graphics on;
PROC SGPLOT DATA = stress2;
VBARPARM category=variable RESPONSE = percent / GROUP = endorsed SEGLABEL groupdisplay=stack;
YAXIS GRID LABEL = "Percentage";
RUN;
ods graphics off;
Hope this helps!
Dan
I have a hunch about why this happened, but I cannot verify that without your data. However, I think I have determined that your data is pre-summarized, based on the graph and the options you used. Therefore, try this as a workaround:
proc sort data=stress out=stress2; by descending group descending percent; run;
ods graphics on;
PROC SGPLOT DATA = stress2;
VBARPARM category=variable RESPONSE = percent / GROUP = endorsed SEGLABEL groupdisplay=stack;
YAXIS GRID LABEL = "Percentage";
RUN;
ods graphics off;
Hope this helps!
Dan
Thanks Dan. That was awesome and easy fix. I had done freq analysis for each variable and then summarized them in a table to produce stacked bar graph. I am not sure how to do it otherwise. I am still learning SAS and loving it for analysis at work at school both.
Thanks a lot!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.