Help using Base SAS procedures

SGPLOT vbar option not working ?

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 96
Accepted Solution

SGPLOT vbar option not working ?

I have a dataset with aggregated date and I would like to create a VBAR to show the distribution of the variables.  I thought using the weight option would work, but it doesnt.  For example, in the example below all the frequencies stand at "1", instead of using the count variable which should be somewhere between 1 and 5.

 

What is going on?  I'm using SAS 9.3 on a windows machine.

Cheers!

 

 

proc sql;
create table class as
select distinct age, count(*) as count
from sashelp.class
group by age;
quit;

proc sgplot data=class;
vbar age / weight=count;
run;


Accepted Solutions
Solution
‎11-13-2015 03:48 AM
Super User
Posts: 19,770

Re: SGPLOT vbar option not working ?

Use response instead of weight.

proc sgplot data=class;
vbar age / response=count;
run;

View solution in original post


All Replies
Solution
‎11-13-2015 03:48 AM
Super User
Posts: 19,770

Re: SGPLOT vbar option not working ?

Use response instead of weight.

proc sgplot data=class;
vbar age / response=count;
run;
Frequent Contributor
Posts: 96

Re: SGPLOT vbar option not working ?

thanks for this!
Trusted Advisor
Posts: 1,117

Re: SGPLOT vbar option not working ?

You can also use FREQ= instead of WEIGHT= if you prefer "Frequency" over "count (Sum)" as the label of the y-axis.

proc sgplot data=class;
vbar age / freq=count;
run;
Frequent Contributor
Posts: 96

Re: SGPLOT vbar option not working ?

Posted in reply to FreelanceReinhard
Thanks for the reply!

"Frequency" does look better, but it wont graph non-integer numbers properly (such as count minus 0.5), which happens with surveys with probabilistic weights.

Cheers!

proc sql;
create table class as
select distinct age, count(*)-0.5 as count
from sashelp.class
group by age;
quit;

proc sgplot data=class;
vbar age / response=count;
yaxis label="frequency";
run;

proc sgplot data=class;
vbar age / freq=count ;
yaxis label="frequency";
run;
🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 362 views
  • 2 likes
  • 3 in conversation