data yours; input order block treat1 treat2 response; lines; ; proc plot; plot response*order; title1 check for independence in collection routine; plot response*treat1; title2 check for constant variance; plot response*treat2; title3 check for constant variance; PROC GLM; CLASSES block treat1 treat2 ; MODEL response = block treat1 treat2 treat1*treat2; output out=yours2 predicted=ypred residual=z; proc standard std=1.0 data=yours2; var z; proc rank normal=blom; var z; ranks nscore; proc print; proc plot; plot z*nscore/vref=0 href=0 hpos=50;