Standard Error (SE) in 'proc sgplot'

Solved
Regular Contributor
Posts: 210

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?

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

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

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

All Replies
SAS Super FREQ
Posts: 1,068

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

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
Posts: 5,474

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

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'

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:

Posts: 5,474