data base ; block = 1 ; do a = 0 , 1 ; do b = 0 , 1 ; do c = 0 , 1 ; do d = 0 , 1 ; do e = 0 , 1 ; do f = 0 , 1 ; do g = 0 , 1 ; if mod(a+b+c,2) = 0 then if mod(a+d+e,2) = 0 then if mod(b+d+f,2) = 0 then if mod(a+b+d+g,2) = 0 then output ; end ; end ; end ; end ; end ; end ; end ; data foldover ; set base ; block = 2 ; a = mod(a+1,2) ; b = mod(b+1,2) ; c = mod(c+1,2) ; d = mod(d+1,2) ; e = mod(e+1,2) ; f = mod(f+1,2) ; g = mod(g+1,2) ; data semifold ; set base foldover ; block = 3 ; if a = 0 then do ; a = 1 ; output ; end ; * Generate some noise data ; data comb ; set base foldover semifold ; y = normal(33557) ; proc glm ; class block a b c d e f g ; model y = block a b c d e f g a*b a*c a*d a*e a*f a*g ; run ; /**************************************************** Sum of Source DF Squares Mean Square Model 15 12.78 0.85 Error 12.55 1.56 Corrected Total 23 25.34 Source DF Type I SS Type II SS Type III SS block 2 2.708 2.252 2.252 a 1 0.003 0.003 0.003 b 1 0.792 0.792 1.341 c 1 1.019 1.019 0.986 d 1 0.077 0.077 0.053 e 1 3.083 3.083 1.785 f 1 0.049 0.049 0.213 g 1 0.139 0.139 0.028 a*b 1 0.914 0.914 0.914 a*c 1 0.015 0.015 0.015 a*d 1 2.188 2.188 2.188 a*e 1 0.918 0.918 0.918 a*f 1 0.576 0.576 0.576 a*g 1 0.299 0.299 0.299 The fact that the Type I, II, and III sums of squares differ is a reflection of the non-orthogonality in the irregular 3/32 fraction. ******************************************************************;