Data visualization with SAS programming

Standard Error (SE) in 'proc sgplot'

Accepted Solution Solved
Reply
Regular Contributor
Posts: 210
Accepted Solution

Standard Error (SE) in 'proc sgplot'

[ Edited ]

Hi all,

 

Could you please help to code the 'Standard Error' for the gsplot. The plot has to be as below. What should be a standard of the dataset? What are the options for proc sgplot?

 

large (3).jpg


Accepted Solutions
Solution
‎11-03-2017 09:59 AM
Esteemed Advisor
Posts: 5,474

Re: Standard Error (SE) in 'proc sgplot'

Posted in reply to DmytroYermak

Try something like:

 

proc sql;
create table classGraph as
select 
    sex, 
    age, 
    mean(weight) as meanWeight, 
    mean(weight) - std(weight) as lowStdWeight,    
    mean(weight) + std(weight) as highStdWeight
from sashelp.class
group by sex, age;
quit;

proc sgplot data=classGraph;
scatter x=age y=meanWeight / 
    yerrorlower=lowStdWeight yerrorupper=highStdWeight group=sex;
series x=age y=meanWeight / lineattrs=(pattern=solid) group=sex;
run;
PG

View solution in original post


All Replies
SAS Super FREQ
Posts: 1,068

Re: Standard Error (SE) in 'proc sgplot'

Posted in reply to DmytroYermak

The main options you want to use on the VLINE statement are the following:

 

1. LIMITSTAT = CLM | STDERR | STDDEV -- for your case, use STDERR

2. NUMSTD = <number> -- This is a multiplier for STDERR or STDDEV. The default is 1, which mean you would get one standard error in your case.

3. LIMITS = UPPER | LOWER | BOTH -- the default is BOTH, just like in your picture.

 

Here is a simple example:

proc sgplot data=sashelp.class;
vline age / response=weight stat=mean limitstat=stderr numstd=2;
run;

You can also modify the visual attributes of the error bars using the ERRORATTRS option.

 

Hope this helps!

Dan

Regular Contributor
Posts: 210

Re: Standard Error (SE) in 'proc sgplot'

[ Edited ]

Thank you for the reply! Could you please say how to modify your code to draw two lines: one for 'male', another for 'female'.

And another question: if I have SE calculated in previous steps (this is an obligate rule) how to put SE on the plot in this case?

Solution
‎11-03-2017 09:59 AM
Esteemed Advisor
Posts: 5,474

Re: Standard Error (SE) in 'proc sgplot'

Posted in reply to DmytroYermak

Try something like:

 

proc sql;
create table classGraph as
select 
    sex, 
    age, 
    mean(weight) as meanWeight, 
    mean(weight) - std(weight) as lowStdWeight,    
    mean(weight) + std(weight) as highStdWeight
from sashelp.class
group by sex, age;
quit;

proc sgplot data=classGraph;
scatter x=age y=meanWeight / 
    yerrorlower=lowStdWeight yerrorupper=highStdWeight group=sex;
series x=age y=meanWeight / lineattrs=(pattern=solid) group=sex;
run;
PG
PROC Star
Posts: 1,209

Re: Standard Error (SE) in 'proc sgplot'

Posted in reply to DmytroYermak

What does your data look like?

 

Perhaps something like this example?

 

http://support.sas.com/kb/42/542.html

Regular Contributor
Posts: 210

Re: Standard Error (SE) in 'proc sgplot'

[ Edited ]

Thank you for the last link. I used it:

Esteemed Advisor
Posts: 5,474

Re: Standard Error (SE) in 'proc sgplot'

Posted in reply to DmytroYermak

invalue defines an INFORMAT. You need a VALUE statement to define a format in proc format.

PG
☑ This topic is solved.

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

Discussion stats
  • 6 replies
  • 405 views
  • 7 likes
  • 4 in conversation