*NKNW976.sas, two-way random effects anova using data for problem 24.15; options nocenter; data a1; infile 'u:\.www\datasets512\CH24PR15.DAT'; input mpg driver car; proc print data=a1; run; data a1; set a1; if (driver eq 1)*(car eq 1) then dc='01_1A'; if (driver eq 1)*(car eq 2) then dc='02_1B'; if (driver eq 1)*(car eq 3) then dc='03_1C'; if (driver eq 1)*(car eq 4) then dc='04_1D'; if (driver eq 1)*(car eq 5) then dc='05_1E'; if (driver eq 2)*(car eq 1) then dc='06_2A'; if (driver eq 2)*(car eq 2) then dc='07_2B'; if (driver eq 2)*(car eq 3) then dc='08_2C'; if (driver eq 2)*(car eq 4) then dc='09_2D'; if (driver eq 2)*(car eq 5) then dc='10_2E'; if (driver eq 3)*(car eq 1) then dc='11_3A'; if (driver eq 3)*(car eq 2) then dc='12_3B'; if (driver eq 3)*(car eq 3) then dc='13_3C'; if (driver eq 3)*(car eq 4) then dc='14_3D'; if (driver eq 3)*(car eq 5) then dc='15_3E'; if (driver eq 4)*(car eq 1) then dc='16_4A'; if (driver eq 4)*(car eq 2) then dc='17_4B'; if (driver eq 4)*(car eq 3) then dc='18_4C'; if (driver eq 4)*(car eq 4) then dc='19_4D'; if (driver eq 4)*(car eq 5) then dc='20_4E'; title1 'Plot of the data'; symbol1 v=circle i=none c=black; proc gplot data=a1; plot mpg*dc/frame; run; proc means data=a1; output out=a2 mean=avmpg; var mpg; by driver car; title1 'Plot of the means'; symbol1 v='A' i=join c=black; symbol2 v='B' i=join c=black; symbol3 v='C' i=join c=black; symbol4 v='D' i=join c=black; symbol5 v='E' i=join c=black; proc gplot data=a2; plot avmpg*driver=car/frame; run; proc glm data=a1; class driver car; model mpg=driver car driver*car; random driver car driver*car/test; run; proc varcomp data=a1; class driver car; model mpg=driver car driver*car; run; proc mixed data=a1 cl; class car driver; model mpg=; random car driver car*driver/vcorr; run;