option ls=76 nocenter; data variety_eval; input block type $ dose logdose y; datalines; 1 r 1 0 15.7 2 r 1 0 23.1 3 r 1 0 15.9 4 r 1 0 20.8 5 r 1 0 24.5 1 r 2 1 25.1 2 r 2 1 29.2 3 r 2 1 29.7 4 r 2 1 28.6 5 r 2 1 26.6 1 r 4 2 27.9 2 r 4 2 29.7 3 r 4 2 24.0 4 r 4 2 29.7 5 r 4 2 29.6 1 r 8 3 23.8 2 r 8 3 31.2 3 r 8 3 21.8 4 r 8 3 23.3 5 r 8 3 23.9 1 s 1 0 19.8 2 s 1 0 17.8 3 s 1 0 13.2 4 s 1 0 14.8 5 s 1 0 19.7 1 s 2 1 21.2 2 s 2 1 29.3 3 s 2 1 26.0 4 s 2 1 27.5 5 s 2 1 22.0 1 s 4 2 29.3 2 s 4 2 27.2 3 s 4 2 26.0 4 s 4 2 31.5 5 s 4 2 27.9 1 s 8 3 22.8 2 s 8 3 33.0 3 s 8 3 25.2 4 s 8 3 27.2 5 s 8 3 20.8 ; proc mixed data=variety_eval METHOD=TYPE3; /* METHOD statement added */ class block type dose; model y = type|dose / ddfm=satterth; random block block*dose; lsmeans type*dose / slice=(type dose); run;