Data visualization with SAS programming

q-q plot using SGPlot or SG procedures

Reply
Frequent Contributor
Posts: 99

q-q plot using SGPlot or SG procedures

Hi all,
I want to create a normal probability plot or qq plot using SG procedures.

I know I can do it using proc univariate, but is it possible using SG procedures.

Thank for all your help.

Regards,

Amit
SAS Super FREQ
Posts: 864

Re: q-q plot using SGPlot or SG procedures

Hey Amit,

ODS GRAPHICS is also supported in PROC UNIVARIATE. Is there a particular reason that you need to use the SGPLOT?

Thanks!
Frequent Contributor
Posts: 99

Re: q-q plot using SGPlot or SG procedures

Hi Dan,
I am trying to develop a report for presentation. The Histogram in SGplot looks more clean than in proc univariate.
Thats the reason I wanted to see if I replecate my q-q plot using proc sgplot.
SAS Super FREQ
Posts: 864

Re: q-q plot using SGPlot or SG procedures

Right now, we do not have a qqplot statement in SGPLOT. However, if you turn on ODS GRAPHICS for UNIVARIATE, you should get a comparable histogram to the one from SGPLOT. Give it a try and see what you think.

Thanks!
Dan

ods graphics on;
proc univariate data=sashelp.class;
histogram weight;
run;
ods graphics off;

proc sgplot data=sashelp.class;
histogram weight;
run;
Occasional Contributor
Posts: 14

Re: q-q plot using SGPlot or SG procedures

I just ran the two histograms.  The ODS graphics statement look a little better (better shading), but they were very similar.

SAS Super FREQ
Posts: 3,233

Re: q-q plot using SGPlot or SG procedures

Yes, you can do it. You need to compute the quantiles first. If you want a normal Q-Q plot, use PROC RANK:

 

/* get sample mean and stddev */
proc means data=sashelp.class mean std;
var weight;
run;

proc rank data=sashelp.class normal=blom out=QQ;
   var weight;
   ranks Quantile;
run;
 
proc sgplot data=QQ noautolegend;
   scatter x=Quantile y=weight;
   lineparm x=0 y=100 slope=22.77; /* y-int=mean slope=stddev */
   xaxis label="Normal Quantiles";
run;

 

For more discussion, see

http://blogs.sas.com/content/iml/2016/11/23/sampling-variation-small-samples.html

and for the general case of Q-Q plots for arbitrary distributions, see

http://blogs.sas.com/content/iml/2011/10/28/modeling-the-distribution-of-data-create-a-qq-plot.html

 

Post a Question
Discussion Stats
  • 5 replies
  • 625 views
  • 2 likes
  • 4 in conversation