/* One way ANOVA example with residual plots */

options ls=
80 ps=59 nodate;
data peas;
input sugar $ length @@;
cards;
cntl 75 cntl 67 cntl 70 cntl 75 cntl 65 cntl 71 cntl 67
cntl 67 cntl 76 cntl 68 fru2 58 fru2 61 fru2 56 fru2 58 
fru2 57 fru2 56 fru2 61 fru2 60 fru2 57 fru2 58 glu1fru1 58 
glu1fru1 59 glu1fru1 58 glu1fru1 61 glu1fru1 57 glu1fru1 56 
glu1fru1 58 glu1fru1 57 glu1fru1 57 glu1fru1 59 glu2 57 
glu2 58 glu2 60 glu2 59 glu2 62 glu2 60 glu2 60 glu2 57 
glu2 59 glu2 61 suc2 62 suc2 66 suc2 65 suc2 63 suc2 64 
suc2 62 suc2 65 suc2 65 suc2 62 suc2 67
;
proc print;
title 'pea data';
title2 'one way classification by treatment';
title3 'treatment = sugar (5 levels)';
run;

/* GLM = general linear model */
/* output out=diag p=ybar r=resid; gives predicted values and residuals */

proc glm;
class sugar;
model length = sugar/solution;
output out=diag p=ybar r=resid;
means sugar;
run;

proc plot data=diag;
plot resid*ybar/vref=0;
run;

/* gives normal probability plot and univariate analysis */

proc univariate plot data=diag;
var resid;
run;