*NKNW943.sas, three-way anova using data in Table 23.4; options nocenter; data a1; infile 'u:\.www\datasets512\CH23TA04.DAT'; input extol gender fat smoke; proc print data=a1; run; data a1; set a1; if (gender eq 1)*(fat eq 1)*(smoke eq 1) then gfs='1_Mfs'; if (gender eq 1)*(fat eq 2)*(smoke eq 1) then gfs='2_MFs'; if (gender eq 1)*(fat eq 1)*(smoke eq 2) then gfs='3_MfS'; if (gender eq 1)*(fat eq 2)*(smoke eq 2) then gfs='4_MFS'; if (gender eq 2)*(fat eq 1)*(smoke eq 1) then gfs='5_Ffs'; if (gender eq 2)*(fat eq 2)*(smoke eq 1) then gfs='6_FFs'; if (gender eq 2)*(fat eq 1)*(smoke eq 2) then gfs='7_FfS'; if (gender eq 2)*(fat eq 2)*(smoke eq 2) then gfs='8_FFS'; run; title1 'Plot of the data'; symbol1 v=circle i=none c=black; proc gplot data=a1; plot extol*gfs/frame; run; proc sort data=a1; by gender fat smoke; proc means data=a1; output out=a2 mean=avextol; by gender fat smoke; data a2; set a2; if (fat eq 1)*(smoke eq 1) then fs='1_fs'; if (fat eq 1)*(smoke eq 2) then fs='2_fS'; if (fat eq 2)*(smoke eq 1) then fs='3_Fs'; if (fat eq 2)*(smoke eq 2) then fs='4_FS'; run; proc sort data=a2; by fs; title1 'Plot of the means'; symbol1 v='M' i=join c=black; symbol2 v='F' i=join c=black; proc gplot data=a2; plot avextol*fs=gender/frame; run; proc glm data=a1; class gender fat smoke; model extol=gender fat smoke gender*fat gender*smoke fat*smoke gender*fat*smoke; means gender*fat*smoke; run; data a1; set a1; if (fat eq 1)*(smoke eq 1) then fs='1_fs'; if (fat eq 1)*(smoke eq 2) then fs='2_fS'; if (fat eq 2)*(smoke eq 1) then fs='3_Fs'; if (fat eq 2)*(smoke eq 2) then fs='4_FS'; run; proc glm data=a1; class gender fs; model extol=gender fs; means gender fs/tukey; run;