Example of Output Data Set for PROC GLM
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: GLMOUT */
/* TITLE: Example of Output Data Set for PROC GLM */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: ANOVA */
/* PROCS: GLM */
/* DATA: */
/* */
/* SUPPORT: UPDATE: January 2010 */
/* REF: */
/* MISC: */
/* */
/****************************************************************/
/*--------------------------------------------------*/
/* GLM - shows use of output dataset */
/*--------------------------------------------------*/
data test;
input a b y aa $ bb $ ;
datalines;
1 3 18 level1 level3
1 1 20 level1 level1
1 1 22 level1 level1
1 1 24 level1 level1
1 4 18 level1 level4
1 2 14 level1 level2
1 2 19 level1 level2
1 2 15 level1 level2
1 3 19 level1 level3
1 3 21 level1 level3
2 4 14 level2 level4
2 1 15 level2 level1
2 1 16 level2 level1
2 2 19 level2 level2
2 4 12 level2 level4
2 2 24 level2 level2
2 3 10 level2 level3
1 4 19 level1 level4
2 3 18 level2 level3
2 3 20 level2 level3
;
proc glm data=test outstat=new;
class aa bb;
model y=aa|bb/ss4;
means aa|bb/duncan;
run;
/* print out the statistics */
data _null_;
set new;
retain edf;
if _type_ ='ERROR' then edf = df;
else do;
put @1 'F test for effect ' _source_ $ ' was ' F 8.2 ', with'
df 3. ' and ' edf 3. ' degrees of freedom.' /
@1 'Probability of a larger F is ' prob 6.4 ', which is' @;
if prob < .001 then put ' highly ' @;
else if prob < .01 then put ' very ' @;
else if prob < .05 then put ' ' @;
else put ' not ' @;
put 'significant.' @ /;
end;
put /;
run;