BookmarkSubscribeRSS Feed
Jazzman
Obsidian | Level 7

Hi everybody,

 

I have a data file with a number of variables and I need a single graph that shows me box plots for every variable in one row so that they can be compared. I just can't find a way to realise this with the boxplot procedure. The box plots are always in separate rows and I need to specify a group variable even if I don't have separate groups.

 

Thanks for your help!

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

First off you would normalise the data needed, then graph on that.  You've not posted data, so I just assume something:

ID   VARA   VARB   VARC

1     12         56      34

...

 

Normalise to:

ID    VAR   RESULT

1      A       12

1      B       56

1      C       34

...

 

Then:

proc sgplot data=have;
  by id;
  vbox result / category=var;
run;
Rick_SAS
SAS Super FREQ

As RW9 suggests, transpose your data to long form and use the CATEGORY= option. An example in in this blog post. You can skip the steps about ordering the boxplots, unless that is something you want to incorporate.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 974 views
  • 2 likes
  • 3 in conversation