LIBNAME ADX "C:\TEMP\ADX"; DATA adx.SPRINGS(keep = run b c d e q rep y) adx.SpringsAgg(keep = b c d e q ybar lnvar) ; INPUT run B C D E Q rep1 rep2 rep3; ARRAY reps{3} rep1-rep3; DO rep=1 to 3; y=reps{rep}; output adx.springs; END; ybar=mean(of rep1-rep3); lnvar=log(var(of rep1-rep3)); OUTPUT adx.SpringsAgg; DATALINES; 1 -1 +1 +1 -1 -1 7.78 7.78 7.81 2 +1 +1 +1 +1 -1 8.15 8.18 7.88 3 -1 -1 +1 +1 -1 7.50 7.56 7.50 4 +1 -1 +1 -1 -1 7.59 7.56 7.75 5 -1 +1 -1 +1 -1 7.94 8.00 7.88 6 +1 +1 -1 -1 -1 7.69 8.09 8.06 7 -1 -1 -1 -1 -1 7.56 7.62 7.44 8 +1 -1 -1 +1 -1 7.56 7.81 7.69 9 -1 +1 +1 -1 +1 7.50 7.25 7.12 10 +1 +1 +1 +1 +1 7.88 7.88 7.44 11 -1 -1 +1 +1 +1 7.50 7.56 7.50 12 +1 -1 +1 -1 +1 7.63 7.75 7.56 13 -1 +1 -1 +1 +1 7.32 7.44 7.44 14 +1 +1 -1 -1 +1 7.56 7.69 7.62 15 -1 -1 -1 -1 +1 7.18 7.18 7.25 16 +1 -1 -1 +1 +1 7.81 7.50 7.59 RUN; PROC GLM DATA=adx.SPRINGS; MODEL Y=B C E Q B*Q C*Q / SOLUTION; RUN;