This has to be very easy, but I am really stuck and unable to solve it easily.
Imagine having a table that looks like this:
Person | Sex | Intake | Exercise | Output |
---|---|---|---|---|
1 | F | A | 1 | Z |
2 | F | B | 2 | Z |
3 | M | A | 1 | X |
4 | M | B | 1 | Z |
5 | F | B | 2 | X |
6 | M | A | 2 | Z |
7 | F | A | 1 | X |
8 | M | A | 1 | X |
9 | M | B | 1 | Z |
and so on, so the first column is incremental, the other columns contain binary data
Let us say I want to produce a bar chart with three bars (the count of A in intake, the count of 1 in Exercise, the count of Z in Output)
and then another bar chart showing the same thing as the first chart but subgroubed by sex, ie for each one of the three groups (intake, exercise, output) two bars are shown beside each other, one for male and one for female sex.
SGplot dose that very easily (with the group=sex groupdisplay=cluster), but i am not sure how to get the counts of the respective groups
Is there an easy way or will I have to use a proc sql to count the A in intake, the count of 1 in Exercise, the count of Z in Output?
Regards
Hi,
You could use SGPANEL and draw two panels, one for SEX="M" and other to SEX="F" and group intake, or vice versa.
Other alternative could be generate a category variable with all your categories joined, such as A1Z and B2X for example and use this to plot
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.