option ls=76 nocenter; data pbib_mv; input blk trt1 y1 trt2 y2 trt3 y3 trt4 y4; datalines; 1 15 2.4 9 2.5 1 2.6 13 2.0 2 5 2.7 7 2.8 8 2.4 1 2.7 3 10 2.6 1 2.8 14 2.4 2 2.4 4 15 3.4 11 3.1 2 2.1 3 2.3 5 6 4.1 15 3.3 4 3.3 7 2.9 6 12 3.4 4 3.2 3 2.8 1 3.0 7 12 3.2 14 2.5 15 2.4 8 2.6 8 6 2.3 3 2.3 14 2.4 5 2.7 9 5 2.8 4 2.8 2 2.6 13 2.5 10 10 2.5 12 2.7 13 2.8 6 2.6 11 9 2.6 7 2.6 10 2.3 3 2.4 12 8 2.7 6 2.7 2 2.5 9 2.6 13 5 3.0 9 3.6 11 3.2 12 3.2 14 7 3.0 13 2.8 14 2.4 11 2.5 15 10 2.4 4 2.5 8 3.2 11 3.1 ; /*---convert data set to univariate form ---*/ data pbib; set pbib_mv; array tx{4} trt1-trt4; array yy{4} y1-y4; do i=1 to 4; treat = tx{i}; response = yy{i}; output; end; keep blk treat response; run; proc mixed data=pbib; class blk treat; model response=treat; random blk; estimate 'treat 1 mean' intercept 1 treat 1; estimate 'trt 1 mean' intercept 15 treat 15 | blk 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / divisor=15; estimate 'trt 1 blk 1' intercept 1 treat 1 | blk 1; estimate 'trt 1 vs trt 2' treat 1 -1; contrast 'trt 1 vs trt 2' treat 1 -1; lsmeans treat / diff; ods exclude diffs; ods output diffs=difmix; TITLE 'Output2.10 from the book'; PROC PRINT DATA=difmix; /* Newly added statement */ TITLE ' OUTPUT from difmix'; run;