options nocenter ps=64 ls=79; data a; infile 'dhiman.dat' firstobs=2; input cow trt pr carry bcaa1 bcaa2 bcaa3; data dhiman; set a; bcaa = bcaa1; spr = 1; output; bcaa = bcaa2; spr = 2; output; bcaa = bcaa3; spr = 3; output; proc sort data=dhiman; by spr; proc glm; by spr; /* separate analysis by subperiod */ class cow trt pr spr carry; /* check for possible carryover */ model bcaa = cow trt pr carry; /* (no evidence of carryover) */ lsmeans trt pr / stderr pdiff; proc glm; /* overall split plot analysis */ class cow trt pr spr; model bcaa = cow trt pr cow*trt*pr spr spr*trt spr*pr; random cow cow*trt*pr / test; test h = trt pr e = cow*trt*pr; lsmeans trt pr / e = cow*trt*pr stderr pdiff; lsmeans spr / stderr pdiff; /* not estimable due to proc glm bug */ lsmeans trt*spr / stderr pdiff out=lsmsp; proc plot data=lsmsp; plot lsmean*trt=spr; proc mixed data=dhiman; class cow trt pr spr; model bcaa = trt pr spr spr*trt spr*pr; random cow cow*trt*pr; lsmeans trt*spr; /* LS means done properly */ make 'lsmeans' out=lsmsub; data plotsub; set lsmsub; /* plotting kludge */ trt = substr(level,9,1); spr = substr(level,11,1); proc plot; plot lsmean*trt=spr;