Is there a way to get the stats used in vbox into a sas dataset for later usage?
This example was posted a few years ago, but it only shows how to get the statistics into the plot.
proc sgplot data=want;
label weight_n='N' weight_min='MIN' weight_max='MAX'
weight_median='MEDIAN' weight_mean='MAEAN';
vbox weight/category=sex group=sex;
xaxistable weight_n weight_min weight_max weight_median weight_mean
/ x=sex colorgroup=sex location=inside;
Thanks!
That won't directly provide all the critical points for the box plot. (e.g. the ends of the whiskers are not the min/max of the whole data set).
I think this will do it. Please let me know if you think this is accurate:
data have;
set sashelp.class;
run;
proc means data=have nway noprint;
class sex;
var weight;
output out=stat min= max= median= mean= p25= p75=
n=/autoname;
run;
data stat; set stat;
upgate=weight_p75+1.5*(weight_p75-weight_p25);
downgate=weight_p75-1.5*(weight_p75-weight_p25);
run;
proc sql;
create table have2 as
select a.*
from have a
INNER JOIN
stat b
on a.sex = b.sex
where a.weight between downgate and upgate
;
quit;
proc means data=have2 nway;
class sex;
var weight;
output out=out_wisk
min=wisk_min
max=wisk_max
n=/autoname;
run;
proc sql;
select a.sex,
b.wisk_min,
a.weight_p25,
a.weight_median,
a.weight_mean,
a.weight_p75,
b.wisk_max
from stat a
INNER JOIN
out_wisk b
on a.sex = b.sex
;
quit;
Add this before your SGPLOT statement. You'll likely have to reformat it then.
ods output sgplot=want;
Found via this blog post.
Here's some instructions and explanations on how to capture output that is shown.
https://blogs.sas.com/content/sastraining/2017/03/31/capturing-output-from-any-procedure-with-an-ods...
@rclivornese wrote:
Is there a way to get the stats used in vbox into a sas dataset for later usage?
This example was posted a few years ago, but it only shows how to get the statistics into the plot.
proc sgplot data=want;
label weight_n='N' weight_min='MIN' weight_max='MAX'
weight_median='MEDIAN' weight_mean='MAEAN';
vbox weight/category=sex group=sex;
xaxistable weight_n weight_min weight_max weight_median weight_mean
/ x=sex colorgroup=sex location=inside;
Thanks!
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.