/* Appendix B */
/* Code for Sum-to-Zero Restrictions */
proc glm;
model milk=seq1 cow1 cow2 cow4 cow5 per1 per2 per4 per5
trt1 trt2 resid1 resid2/ss1 solution;
estimate 'Direct 1' intercept 1 trt1 1;
estimate 'Direct 2' intercept 1 trt2 1;
estimate 'Direct 3' intercept 1 trt1 -1 trt2 -1;
estimate 'Direct 1 - 2' trt1 1 trt2 -1;
estimate 'Direct 1 - 3' trt1 2 trt2 1;
estimate 'Direct 2 - 3' trt1 1 trt2 2;
estimate 'Residu 1' resid1 1;
estimate 'Residu 2' resid2 1;
estimate 'Residu 3' resid1 -1 resid2 -1;
estimate 'Res 1 - 2' resid1 1 resid2 -1;
estimate 'Res 1 - 3' resid1 2 resid2 1;
estimate 'Res 2 - 3' resid1 1 resid2 2;
estimate 'Permanent 1' intercept 1 trt1 1 resid1 1;
estimate 'Permanent 2' intercept 1 trt2 1 resid2 1;
estimate 'Permanent 3' intercept 1 trt1 -1 trt2 -1
resid1 -1 resid2 -1;
estimate 'Perm 1-2' trt1 1 resid1 1 trt2 -1 resid2 -1;
estimate 'Perm 1-3' trt1 2 trt2 1 resid1 2 resid2 1;
estimate 'Perm 2-3' trt1 1 trt2 2 resid1 1 resid2 2;