/*---------------------------------------------------------------- SAS System for Mixed Models (1996) by Ramon C. Littell, Ph.D., George A. Milliken, Ph.D., Walter W. Stroup, Ph.D., and Russell D. Wolfinger, Ph.D. SAS Publications order # 55235 ISBN 1-55544-779-1 Copyright 1996 by SAS Institute Inc., Cary, NC, USA This file contains the SAS code needed to produce the output in this book with Release 6.11 of the SAS System. ----------------------------------------------------------------*/ * Updated: 12JUN02 /*--------------------------------------------------------------*/ /*---------------*/ /*---Chapter 1---*/ /*---------------*/ /*---Data Set 1.2.4---*/ data rcb; input ingot metal $ pres; datalines; 1 n 67.0 1 i 71.9 1 c 72.2 2 n 67.5 2 i 68.8 2 c 66.4 3 n 76.0 3 i 82.6 3 c 74.5 4 n 72.7 4 i 78.1 4 c 67.3 5 n 73.1 5 i 74.2 5 c 73.2 6 n 65.8 6 i 70.8 6 c 68.7 7 n 75.6 7 i 84.9 7 c 69.0 ; /*---produces Output 1.1-1.3 on pages 6-9---*/ proc mixed data=rcb; class ingot metal; model pres=metal; random ingot; lsmeans metal / pdiff; estimate 'nickel mean' intercept 1 metal 0 0 1; estimate 'copper vs iron' metal 1 -1 0; contrast 'copper vs iron' metal 1 -1 0; run; /*---produces Output 1.4 on page 10---*/ proc glm data=rcb; class ingot metal; model pres=ingot metal; lsmeans metal/stderr pdiff; estimate 'nickel mean' intercept 1 metal 0 0 1; estimate 'copper vs iron' metal 1 -1 0; contrast 'copper vs iron' metal 1 -1 0; random ingot; run; /*---produces Output 1.5 on page 13---*/ proc varcomp method=reml data=rcb; class ingot metal; model pres=metal ingot/fixed=1; run; /*---Data Set 1.5.1---*/ data pbib; array trt{4} trt1-trt4; array y{4} y1-y4; input blk trt1 y1 trt2 y2 trt3 y3 trt4 y4; do i=1 to 4; response=y{i}; treat=trt{i}; output; end; keep blk response treat; 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 ; /*---produces Output 1.6 on pages 20-22---*/ proc glm data=pbib; class blk treat; model response=blk treat; means treat; lsmeans treat / stderr pdiff; 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; random blk; run; /*---produces Output 1.7 on pages 24-28---*/ proc mixed data=pbib; class blk treat; model response=treat; random blk; lsmeans treat / pdiff; 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; run; /*---------------*/ /*---Chapter 2---*/ /*---------------*/ /*---Data Set 2.2(a)---*/ data a; input block cult$ inoc$ drywt; datalines; 1 a con 27.4 1 a dea 29.7 1 a liv 34.5 1 b con 29.4 1 b dea 32.5 1 b liv 34.4 2 a con 28.9 2 a dea 28.7 2 a liv 33.4 2 b con 28.7 2 b dea 32.4 2 b liv 36.4 3 a con 28.6 3 a dea 29.7 3 a liv 32.9 3 b con 27.2 3 b dea 29.1 3 b liv 32.6 4 a con 26.7 4 a dea 28.9 4 a liv 31.8 4 b con 26.8 4 b dea 28.6 4 b liv 30.7 ; /*---Data Set 2.2(b)---*/ data b; input resista et wafer pos; datalines; 5.22 1 1 1 5.61 1 1 2 6.11 1 1 3 6.33 1 1 4 6.13 1 2 1 6.14 1 2 2 5.60 1 2 3 5.91 1 2 4 5.49 1 3 1 4.60 1 3 2 4.95 1 3 3 5.42 1 3 4 5.78 2 1 1 6.52 2 1 2 5.90 2 1 3 5.67 2 1 4 5.77 2 2 1 6.23 2 2 2 5.57 2 2 3 5.96 2 2 4 6.43 2 3 1 5.81 2 3 2 5.83 2 3 3 6.12 2 3 4 5.66 3 1 1 6.25 3 1 2 5.46 3 1 3 5.08 3 1 4 6.53 3 2 1 6.50 3 2 2 6.23 3 2 3 6.84 3 2 4 6.22 3 3 1 6.29 3 3 2 5.63 3 3 3 6.36 3 3 4 6.75 4 1 1 6.97 4 1 2 6.02 4 1 3 6.88 4 1 4 6.22 4 2 1 6.54 4 2 2 6.12 4 2 3 6.61 4 2 4 6.05 4 3 1 6.15 4 3 2 5.55 4 3 3 6.13 4 3 4 ; /*---produces Output 2.1-2.2 on pages 43 and 45---*/ proc mixed data=b; class et wafer pos; model resista = et pos et*pos; random wafer(et); lsmeans et pos et*pos; run; /*---produces Output 2.3 on page 47---*/ proc mixed data=b; class et wafer pos; model resista=et pos et*pos; random wafer(et); lsmeans pos/df=18.7; run; /*---produces Output 2.4-2.5 on pages 48-49---*/ proc mixed data=b; class et wafer pos; model resista=et pos et*pos; random wafer(et); estimate 'et1 vs et2' et 1 -1 0 0; estimate 'pos1 vs pos2' pos 1 -1 0 0; estimate 'pos1 v pos2 in et1' pos 1 -1 0 0 et*pos 1 -1 ; estimate 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1; estimate 'et1,et2 v et3,et4 - pos 2' et 0.5 0.5 -0.5 -0.5 et*pos 0 0.5 0 0 0 0.5 0 0 0 -0.5 0 0 0 -0.5 0 0; estimate 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1 / df=18.7; estimate 'et1,et2 v et3,et4 - pos 2' et 1 1 -1 -1 et*pos 0 1 0 0 0 1 0 0 0 -1 0 0 0 -1 0 0 / divisor=2 df=18.7; run; /*---produces Output 2.6-2.8 on pages 50-52---*/ proc mixed data=b; class et wafer pos; model resista=et pos et*pos/ddfm=satterth; random wafer(et); lsmeans et pos et*pos; estimate 'et1 vs et2' et 1 -1 0 0; estimate 'pos1 vs pos2' pos 1 -1 0 0; estimate 'pos1 v pos2 in et1' pos 1 -1 0 0 et*pos 1 -1; estimate 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1; estimate 'et1,et2 v et3,et4 - pos 2' et 1 1 -1 -1 et*pos 0 1 0 0 0 1 0 0 0 -1 0 0 0 -1 0 0/divisor=2; contrast 'et1 vs et2' et 1 -1 0 0; contrast 'pos1 vs pos2' pos 1 -1 0 0; contrast 'pos1 v pos2 in et1' pos 1 -1 0 0 et*pos 1 -1; contrast 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1 / df=18.7; contrast 'et1,et2 v et3,et4 - pos 2' et 1 1 -1 -1 et*pos 0 1 0 0 0 1 0 0 0 -1 0 0 0 -1 0 0 / df=18.7; lsmeans et*pos / slice=pos diff; run; /*---produces Output 2.9 on page 54---*/ proc glm data=b; class et wafer pos; model resista = et wafer(et) pos et*pos; random wafer(et) / test; lsmeans et/stderr e=wafer(et); lsmeans pos et*pos/stderr; contrast 'et1 vs et2' et 1 -1 0 0/e=wafer(et); contrast 'pos1 vs pos2' pos 1 -1 0 0; contrast 'pos1 v pos2 in et1' pos 1 -1 0 0 et*pos 1 -1; contrast 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1; contrast 'et1,et2 v et3,et4 - pos 2' et 1 1 -1 -1 et*pos 0 1 0 0 0 1 0 0 0 -1 0 0 0 -1 0 0; estimate 'et1 vs et2' et 1 -1 0 0; estimate 'pos1 vs pos2' pos 1 -1 0 0; estimate 'pos1 v pos2 in et1' pos 1 -1 0 0 et*pos 1 -1; estimate 'et1 v et2 in pos1' et 1 -1 0 0 et*pos 1 0 0 0 -1; estimate 'et1,et2 v et3,et4 - pos 2' et 1 1 -1 -1 et*pos 0 1 0 0 0 1 0 0 0 -1 0 0 0 -1 0 0 / divisor=2; run; /*---produces Output 2.10 on pages 58-59---*/ proc mixed data=a; class block cult inoc; model drywt = cult inoc cult*inoc / ddfm=satterth; random block block*cult; lsmeans cult inoc cult*inoc; run; /*---produces Output 2.11 on page 60---*/ proc mixed data=a; class block cult inoc; model drywt = cult inoc cult*inoc / ddfm=satterth; random block; run; /*---produces Output 2.12 and 2.14 on pages 62 and 65---*/ proc glm data=a; class block cult inoc; model drywt = block|cult inoc cult*inoc; random block block*cult; lsmeans cult / stderr e=block*cult e; lsmeans inoc cult*inoc / stderr; run; /*---produces Outputs 2.13 and 2.15 on pages 64 and 67-68---*/ proc mixed data=a; class block cult inoc; model drywt = cult inoc cult*inoc / ddfm=satterth; random block block*cult; lsmeans cult / e; estimate 'cult=1 broad' intercept 12 cult 12 0 inoc 4 4 4 cult*inoc 4 4 4 0 0 0 | block 0 0 0 0 block*cult 0 0 0 0 0 0 0 0 / e divisor=12; estimate 'cult=1 intermediate' intercept 12 cult 12 0 inoc 4 4 4 cult*inoc 4 4 4 0 0 0 | block 3 3 3 3 block*cult 0 0 0 0 0 0 0 0 / e divisor=12; estimate 'cult=1 narrow' intercept 12 cult 12 0 inoc 4 4 4 cult*inoc 4 4 4 0 0 0 | block 3 3 3 3 block*cult 3 0 3 0 3 0 3 0 / e divisor=12; run; /*---produces Output 2.16 on pages 69-71---*/ data unba; set a; if block=1 and cult='a' then delete; run; proc mixed data=unba; class block cult inoc; model drywt = cult inoc cult*inoc / ddfm=satterth; random block block*cult; lsmeans cult / e; lsmeans inoc cult*inoc; estimate 'cult diff' cult 1 -1 / e; contrast 'cult diff' cult 1 -1 / e; run; /*---produces Output 2.17 on pages 71-74---*/ proc glm data=unba; class block cult inoc; model drywt = block cult block*cult inoc cult*inoc; random block cult*block/test; lsmeans cult/e stderr e=block*cult; lsmeans inoc cult*inoc/stderr; estimate 'cult diff' cult 1 -1 / e; contrast 'cult diff' cult 1 -1 / e e=block*cult; run; /*---Data Set 2.8.1---*/ data mltloc; input obs loc$ block trt adg fe; datalines; 3 A 1 3 3.16454 7.1041 4 A 1 4 3.12500 6.6847 6 A 1 2 3.15944 6.8338 7 A 1 1 3.25000 6.5254 9 A 2 2 2.71301 8.2505 10 A 2 1 3.20281 7.5922 12 A 2 3 3.02423 7.3894 16 A 2 4 2.87245 7.4604 19 A 3 1 2.68878 8.2785 20 A 3 2 2.86862 7.9470 21 A 3 3 2.89923 7.9739 22 A 3 4 3.02806 8.4331 25 B 1 3 2.18131 6.6691 27 B 1 4 2.51914 5.6281 28 B 1 2 1.88739 7.0723 31 B 1 1 2.34685 6.0295 33 B 2 4 2.45608 5.6195 35 B 2 1 2.25225 6.3978 36 B 2 3 2.23649 6.1799 40 B 2 2 2.47523 5.9985 41 B 3 2 1.94200 7.2975 44 B 3 3 2.43243 6.4350 47 B 3 4 2.30180 6.3339 48 B 3 1 2.53378 6.1564 50 C 1 4 2.96014 7.5110 51 C 1 2 3.23551 7.4762 54 C 1 3 3.24638 7.2063 56 C 1 1 3.04710 7.6389 58 C 2 3 3.26449 7.5466 59 C 2 2 2.71377 9.0895 61 C 2 1 3.06522 7.8723 62 C 2 4 2.71739 8.2318 66 C 3 4 3.03623 7.9426 67 C 3 3 3.10507 8.4608 69 C 3 1 3.16304 8.5549 70 C 3 2 3.02899 8.5038 74 D 1 1 2.49164 9.5758 77 D 1 3 2.51833 9.5121 79 D 1 2 2.35631 10.3264 80 D 1 4 2.30331 9.7715 81 D 2 3 2.72688 9.5628 83 D 2 2 2.59512 9.9414 85 D 2 1 2.56516 9.3887 88 D 2 4 2.91523 8.3158 89 D 3 3 2.57943 10.4416 90 D 3 4 2.98159 8.7710 93 D 3 2 2.35370 11.0148 94 D 3 1 2.21953 11.2417 99 E 1 3 2.84158 8.7886 100 E 1 4 2.65264 8.6946 102 E 1 2 2.47112 9.7143 103 E 1 1 2.89769 9.2401 105 E 2 2 2.57343 9.5353 106 E 2 1 2.99752 8.7538 110 E 2 4 2.95380 8.8210 112 E 2 3 3.08663 8.9427 114 E 3 1 2.72525 9.4308 115 E 3 2 2.75825 9.7721 116 E 3 3 3.08333 8.9010 117 E 3 4 3.12129 8.4852 122 F 1 1 3.20600 6.3983 123 F 1 2 2.89500 6.6569 125 F 1 4 3.36900 6.0821 126 F 1 3 3.12000 6.5349 130 F 2 2 3.19300 6.6729 131 F 2 1 3.29800 6.5488 133 F 2 4 3.09700 6.6598 135 F 2 3 3.38500 6.2998 139 F 3 3 3.44900 6.2849 140 F 3 2 3.05000 6.9957 141 F 3 1 3.43500 6.7302 143 F 3 4 3.60600 6.3827 145 G 1 2 2.58669 8.1394 147 G 1 1 3.17892 7.0972 148 G 1 4 2.95284 7.3140 151 G 1 3 3.17924 6.9430 154 G 2 4 2.62344 7.5150 155 G 2 3 2.64286 8.0237 157 G 2 1 3.12760 7.3169 160 G 2 2 2.54993 8.1957 163 G 3 4 2.58322 7.9687 164 G 3 3 2.84813 7.9284 166 G 3 2 2.69279 8.5303 167 G 3 1 3.14424 7.3564 169 H 1 3 3.39974 6.5945 173 H 1 2 3.12370 6.7530 175 H 1 4 3.17969 6.4279 176 H 1 1 3.70052 6.4830 177 H 2 2 2.95192 7.3809 179 H 2 3 3.44661 6.7929 182 H 2 4 3.28906 6.4807 184 H 2 1 3.37500 6.8139 188 H 3 4 3.65104 6.3068 190 H 3 1 3.27734 7.4789 191 H 3 3 3.42708 6.9327 192 H 3 2 3.04818 7.7264 193 I 1 2 2.22105 8.4243 196 I 1 1 3.15526 6.7119 197 I 1 4 2.40263 7.7486 198 I 1 3 3.00000 6.9215 203 I 2 1 2.29079 8.8861 204 I 2 4 2.25395 8.6850 205 I 2 3 2.60526 8.4150 208 I 2 2 2.34737 8.7866 209 I 3 2 2.50505 8.5975 212 I 3 1 2.31316 8.9267 213 I 3 4 2.42105 8.7750 214 I 3 3 2.74211 8.1599 ; /*---produces Output 2.18 on pages 81-82---*/ proc mixed data=mltloc; class loc block trt; model adg=loc trt loc*trt; random block(loc); lsmeans loc trt loc*trt; contrast 'trt1 vs trt2' trt 1 -1 0; contrast 'loc1 vs loc2' loc 1 -1 0; contrast 'trt 1 v 2 at loc 1' trt 1 -1 0 loc*trt 1 -1 0/e; estimate 'trt1 vs trt2' trt 1 -1 0; estimate 'loc1 vs loc2' loc 1 -1 0; estimate 'trt 1 v 2 at loc 1' trt 1 -1 0 loc*trt 1 -1 0/e; run; /*---produces Output 2.19 on page 84---*/ proc mixed data=mltloc; class loc block trt; model adg=trt/ddfm=satterth; random loc block(loc) loc*trt; lsmeans trt; contrast 'trt1 vs trt2' trt 1 -1 0; estimate 'trt1 vs trt2' trt 1 -1 0; run; /*---------------*/ /*---Chapter 3---*/ /*---------------*/ /*---Data Set 3.2(a)---*/ data weights; input subj program$ s1 s2 s3 s4 s5 s6 s7; datalines; 1 CONT 85 85 86 85 87 86 87 2 CONT 80 79 79 78 78 79 78 3 CONT 78 77 77 77 76 76 77 4 CONT 84 84 85 84 83 84 85 5 CONT 80 81 80 80 79 79 80 6 CONT 76 78 77 78 78 77 74 7 CONT 79 79 80 79 80 79 81 8 CONT 76 76 76 75 75 74 74 9 CONT 77 78 78 80 80 81 80 10 CONT 79 79 79 79 77 78 79 11 CONT 81 81 80 80 80 81 82 12 CONT 77 76 77 78 77 77 77 13 CONT 82 83 83 83 84 83 83 14 CONT 84 84 83 82 81 79 78 15 CONT 79 81 81 82 82 82 80 16 CONT 79 79 78 77 77 78 78 17 CONT 83 82 83 85 84 83 82 18 CONT 78 78 79 79 78 77 77 19 CONT 80 80 79 79 80 80 80 20 CONT 78 79 80 81 80 79 80 1 RI 79 79 79 80 80 78 80 2 RI 83 83 85 85 86 87 87 3 RI 81 83 82 82 83 83 82 4 RI 81 81 81 82 82 83 81 5 RI 80 81 82 82 82 84 86 6 RI 76 76 76 76 76 76 75 7 RI 81 84 83 83 85 85 85 8 RI 77 78 79 79 81 82 81 9 RI 84 85 87 89 88 85 86 10 RI 74 75 78 78 79 78 78 11 RI 76 77 77 77 77 76 76 12 RI 84 84 86 85 86 86 86 13 RI 79 80 79 80 80 82 82 14 RI 78 78 77 76 75 75 76 15 RI 78 80 77 77 75 75 75 16 RI 84 85 85 85 85 83 82 1 WI 84 85 84 83 83 83 84 2 WI 74 75 75 76 75 76 76 3 WI 83 84 82 81 83 83 82 4 WI 86 87 87 87 87 87 86 5 WI 82 83 84 85 84 85 86 6 WI 79 80 79 79 80 79 80 7 WI 79 79 79 81 81 83 83 8 WI 87 89 91 90 91 92 92 9 WI 81 81 81 82 82 83 83 10 WI 82 82 82 84 86 85 87 11 WI 79 79 80 81 81 81 81 12 WI 79 80 81 82 83 82 82 13 WI 83 84 84 84 84 83 83 14 WI 81 81 82 84 83 82 85 15 WI 78 78 79 79 78 79 79 16 WI 83 82 82 84 84 83 84 17 WI 80 79 79 81 80 80 80 18 WI 80 82 82 82 81 81 81 19 WI 85 86 87 86 86 86 86 20 WI 77 78 80 81 82 82 82 21 WI 80 81 80 81 81 82 83 ; /*---Data Set 3.2(b)---*/ data weight2; set weights; time=1; strength=s1; output; time=2; strength=s2; output; time=3; strength=s3; output; time=4; strength=s4; output; time=5; strength=s5; output; time=6; strength=s6; output; time=7; strength=s7; output; keep subj program time strength; run; proc sort data=weight2; by program time; run; /*---Data Set 3.2(c)---*/ proc means data=weight2 noprint; by program time; var strength; output out=avg mean=strength; run; /*---produces Output 3.1 on pages 91-92---*/ proc mixed data=weight2; class program subj time; model strength = program time program*time; random subj(program); run; /*---produces Output 3.2 on pages 94-96---*/ proc mixed data=weight2; class program subj time; model strength = program time program*time; repeated / type=cs sub=subj(program) r rcorr; run; /*---produces Output 3.3 on pages 97-99---*/ proc mixed data=weight2; class program subj time; model strength = program time program*time; repeated / type=ar(1) sub=subj(program) r rcorr; run; /*---produces Output 3.4 on pages 99-101---*/ proc mixed data=weight2; class program subj time; model strength = program time program*time; repeated / type=un sub=subj(program) r rcorr; run; /*---produces Output 3.5 on page 103---*/ proc mixed data=weight2; class program subj; model strength = program time time*program time*time time*time*program / htype=1; repeated / type=ar(1) sub=subj(program); run; /*---produces Output 3.6 on page 104---*/ proc mixed data=weight2; class program subj; model strength = program time*program time*time*program / noint s htype=1; repeated / type=ar(1) sub=subj(program); run; /*---produces Output 3.7 on pages 107-108---*/ proc glm data=weight2; class program subj time; model strength = program subj(program) time program*time; test h=program e=subj(program); random subj(program); run; /*---produces Output 3.8 on pages 110-113---*/ proc glm data=weights; class program; model s1-s7 = program / nouni; repeated time polynomial / printe summary; run; /*---Data Set 3.4(a)---*/ data wtsmiss; input subj program$ s1 s2 s3 s4 s5 s6 s7; u1=ranuni(54321); if u1<.15 then s1=.; u2=ranuni(65432); if u2<.15 then s2=.; u3=ranuni(76543); if u3<.15 then s3=.; u4=ranuni(87654); if u4<.15 then s4=.; u5=ranuni(98765); if u5<.15 then s5=.; u6=ranuni(09876); if u6<.15 then s6=.; u7=ranuni(10987); if u7<.15 then s7=.; datalines; 1 CONT 85 85 86 85 87 86 87 2 CONT 80 79 79 78 78 79 78 3 CONT 78 77 77 77 76 76 77 4 CONT 84 84 85 84 83 84 85 5 CONT 80 81 80 80 79 79 80 6 CONT 76 78 77 78 78 77 74 7 CONT 79 79 80 79 80 79 81 8 CONT 76 76 76 75 75 74 74 9 CONT 77 78 78 80 80 81 80 10 CONT 79 79 79 79 77 78 79 11 CONT 81 81 80 80 80 81 82 12 CONT 77 76 77 78 77 77 77 13 CONT 82 83 83 83 84 83 83 14 CONT 84 84 83 82 81 79 78 15 CONT 79 81 81 82 82 82 80 16 CONT 79 79 78 77 77 78 78 17 CONT 83 82 83 85 84 83 82 18 CONT 78 78 79 79 78 77 77 19 CONT 80 80 79 79 80 80 80 20 CONT 78 79 80 81 80 79 80 1 RI 79 79 79 80 80 78 80 2 RI 83 83 85 85 86 87 87 3 RI 81 83 82 82 83 83 82 4 RI 81 81 81 82 82 83 81 5 RI 80 81 82 82 82 84 86 6 RI 76 76 76 76 76 76 75 7 RI 81 84 83 83 85 85 85 8 RI 77 78 79 79 81 82 81 9 RI 84 85 87 89 88 85 86 10 RI 74 75 78 78 79 78 78 11 RI 76 77 77 77 77 76 76 12 RI 84 84 86 85 86 86 86 13 RI 79 80 79 80 80 82 82 14 RI 78 78 77 76 75 75 76 15 RI 78 80 77 77 75 75 75 16 RI 84 85 85 85 85 83 82 1 WI 84 85 84 83 83 83 84 2 WI 74 75 75 76 75 76 76 3 WI 83 84 82 81 83 83 82 4 WI 86 87 87 87 87 87 86 5 WI 82 83 84 85 84 85 86 6 WI 79 80 79 79 80 79 80 7 WI 79 79 79 81 81 83 83 8 WI 87 89 91 90 91 92 92 9 WI 81 81 81 82 82 83 83 10 WI 82 82 82 84 86 85 87 11 WI 79 79 80 81 81 81 81 12 WI 79 80 81 82 83 82 82 13 WI 83 84 84 84 84 83 83 14 WI 81 81 82 84 83 82 85 15 WI 78 78 79 79 78 79 79 16 WI 83 82 82 84 84 83 84 17 WI 80 79 79 81 80 80 80 18 WI 80 82 82 82 81 81 81 19 WI 85 86 87 86 86 86 86 20 WI 77 78 80 81 82 82 82 21 WI 80 81 80 81 81 82 83 ; /*---Data Set 3.4(b)---*/ data wt2miss; set wtsmiss; time=1; t=time; strength=s1; output; time=2; t=time; strength=s2; output; time=3; t=time; strength=s3; output; time=4; t=time; strength=s4; output; time=5; t=time; strength=s5; output; time=6; t=time; strength=s6; output; time=7; t=time; strength=s7; output; keep subj program time t strength; run; proc sort data=wt2miss; by program time; run; data wt2miss; set wt2miss; if strength = . then delete; run; /*---produces Output 3.9 on pages 117-118---*/ proc mixed data=wt2miss; class program subj t; model strength=program program*time time*time*program / htype=1 s noint; repeated t / type=ar(1) sub=subj(program); run; /*---produces Output 3.10 on pages 119-120---*/ proc glm data=wt2miss; class program subj time; model strength=program subj(program) time program*time; random subj(program); test h=program e=subj(program); run; /*---produces Output 3.11 on pages 121-125---*/ proc glm data=wtsmiss; class program; model s1-s7=program / nouni; repeated time polynomial / printe summary; run; /*---Data Set 3.5---*/ data hr; input patient drug$ basehr hr1 hr5 hr15 hr30 hr1h; array hra{5} hr1 hr5 hr15 hr30 hr1h; do i = 1 to 5; if (i = 1) then hours = 1/60; else if (i = 2) then hours = 5/60; else if (i = 3) then hours = 15/60; else if (i = 4) then hours = 30/60; else hours = 1; hours1 = hours; hr = hra{i}; output; end; drop i hr1 hr5 hr15 hr30 hr1h; datalines; 201 p 92 76 84 88 96 84 202 b 54 58 60 60 60 64 203 p 84 86 82 84 86 82 204 a 72 72 68 68 78 72 205 b 80 84 84 96 92 72 206 p 68 72 68 68 64 62 207 a 100 104 100 92 92 68 208 a 60 60 58 56 50 56 209 a 88 104 88 88 78 84 210 b 92 82 82 76 82 80 211 b 88 80 84 80 80 78 212 p 102 86 86 96 86 88 214 a 84 92 100 88 88 80 215 b 104 100 96 88 92 84 216 a 92 80 72 64 68 64 217 p 92 88 84 76 88 84 218 a 72 84 78 80 80 76 219 b 72 100 92 84 88 80 220 p 80 80 80 78 80 78 221 p 72 68 76 72 72 68 222 b 88 88 98 98 96 88 223 b 88 88 96 88 88 80 224 p 88 78 84 64 68 64 232 a 78 72 72 78 80 68 ; /*---produces Output 3.12 on pages 128-129---*/ proc mixed data=hr order=data; class drug hours patient; model hr = drug|hours basehr; repeated hours / type=sp(pow)(hours1) sub=patient r rcorr; parms (0.1) (100); run; /*---Data Set 3.6---*/ data demand; input state$ year d y rd rt rs; logd = log(d); logy = log(y); logrd = log(rd); logrt = log(rt); logrs = log(rs); datalines; CA 1949 533 1347 0.343 1.114 2.905 CA 1950 603 1464 0.364 1.162 2.935 CA 1951 669 1608 0.367 1.493 3.093 CA 1952 651 1636 0.369 1.567 3.073 CA 1953 609 1669 0.410 1.594 3.357 CA 1954 634 1716 0.499 1.609 3.295 CA 1955 665 1779 0.496 1.637 3.451 CA 1956 676 1878 0.533 1.757 3.539 CA 1957 642 1963 0.630 2.641 3.930 CA 1958 678 2034 0.667 2.641 3.982 CA 1959 714 2164 0.664 2.648 4.047 DC 1949 854 1603 0.261 0.676 2.803 DC 1950 1013 1773 0.267 0.662 2.877 DC 1951 1185 2017 0.266 0.677 3.006 DC 1952 1076 1921 0.267 0.729 2.975 DC 1953 1004 1856 0.287 0.883 3.035 DC 1954 1044 1868 0.308 1.500 3.083 DC 1955 1067 1931 0.318 1.504 3.177 DC 1956 1062 1951 0.322 1.598 3.250 DC 1957 1120 2085 0.346 2.231 3.368 DC 1958 1196 2144 0.360 2.100 3.457 DC 1959 1168 2167 0.418 2.342 3.727 FL 1949 408 1024 0.354 0.909 2.314 FL 1950 433 1007 0.342 0.957 2.327 FL 1951 469 1068 0.335 1.002 2.428 FL 1952 470 1068 0.328 1.052 2.577 FL 1953 464 1138 0.354 1.118 2.625 FL 1954 465 1137 0.374 1.268 2.871 FL 1955 545 1306 0.378 1.339 2.882 FL 1956 567 1339 0.399 1.486 3.032 FL 1957 531 1383 0.447 2.420 3.338 FL 1958 533 1409 0.498 2.453 3.353 FL 1959 522 1457 0.523 2.489 3.575 IL 1949 843 1465 0.143 0.852 2.504 IL 1950 860 1468 0.146 0.847 2.448 IL 1951 887 1555 0.147 0.936 2.449 IL 1952 914 1648 0.144 1.059 2.568 IL 1953 909 1711 0.150 1.091 2.703 IL 1954 928 1775 0.164 1.130 2.748 IL 1955 939 1815 0.172 1.141 2.778 IL 1956 944 1915 0.183 1.354 2.932 IL 1957 899 1980 0.203 1.628 3.155 IL 1958 919 2001 0.214 1.737 3.402 IL 1959 874 2035 0.231 2.054 3.497 NY 1949 1370 1492 0.112 0.687 2.099 NY 1950 1405 1515 0.119 0.724 2.082 NY 1951 1409 1566 0.119 0.795 2.218 NY 1952 1421 1659 0.120 1.050 2.435 NY 1953 1395 1744 0.134 1.241 2.477 NY 1954 1415 1802 0.145 1.346 2.540 NY 1955 1431 1808 0.146 1.406 2.655 NY 1956 1416 1916 0.168 1.754 2.774 NY 1957 1443 2074 0.189 2.231 2.957 NY 1958 1453 2120 0.192 2.360 3.073 NY 1959 1417 2197 0.203 2.521 3.223 TX 1949 573 995 0.149 0.839 2.755 TX 1950 634 1052 0.147 0.836 2.740 TX 1951 679 1154 0.148 0.812 2.819 TX 1952 668 1176 0.147 1.070 2.880 TX 1953 666 1228 0.160 1.170 3.082 TX 1954 708 1285 0.182 1.328 3.093 TX 1955 722 1335 0.191 1.368 3.071 TX 1956 708 1358 0.208 1.544 3.068 TX 1957 675 1416 0.250 2.121 3.487 TX 1958 716 1457 0.278 2.241 3.413 TX 1959 703 1520 0.303 2.435 3.671 WA 1949 418 1146 0.358 0.937 2.068 WA 1950 501 1324 0.361 0.973 2.229 WA 1951 525 1433 0.365 1.039 2.367 WA 1952 519 1481 0.381 1.305 2.553 WA 1953 500 1531 0.414 1.342 2.848 WA 1954 537 1602 0.481 1.348 2.865 WA 1955 545 1649 0.529 1.770 2.907 WA 1956 525 1656 0.587 1.779 3.011 WA 1957 494 1711 0.681 2.313 3.252 WA 1958 521 1754 0.716 2.302 3.306 WA 1959 515 1809 0.730 2.495 3.507 ; /*---produces Output 3.13 on pages 132-133---*/ proc mixed data=demand; class state year; model logd = logy logrd logrt logrs / s; random state year; run; /*---------------*/ /*---Chapter 4---*/ /*---------------*/ /*---Data Set 4.2---*/ data e_2_2; input influent y; if influent=3 or influent=5 then type=1; else if influent=6 then type=3; else type=2; datalines; 1 21 1 27 1 29 1 17 1 19 1 12 1 29 1 20 1 20 2 21 2 11 2 18 2 9 2 13 2 23 2 2 3 20 3 19 3 20 3 11 3 14 4 14 4 24 4 30 4 21 4 31 4 27 5 7 5 15 5 18 5 4 5 28 6 41 6 42 6 35 6 34 6 30 ; /*---produces Output 4.1 on page 142---*/ proc mixed data=e_2_2; class influent; model y=/solution; random influent/solution; estimate 'influent 1' intercept 1 | influent 1 0 0 0 0 0; estimate 'influent 2' intercept 1 | influent 0 1 0 0 0 0; estimate 'influent 3' intercept 1 | influent 0 0 1 0 0 0; estimate 'influent 4' intercept 1 | influent 0 0 0 1 0 0; estimate 'influent 5' intercept 1 | influent 0 0 0 0 1 0; estimate 'influent 6' intercept 1 | influent 0 0 0 0 0 1; estimate 'influent 1U' | influent 1 0 0 0 0 0; estimate 'influent 2U' | influent 0 1 0 0 0 0; estimate 'influent 3U' | influent 0 0 1 0 0 0; estimate 'influent 4U' | influent 0 0 0 1 0 0; estimate 'influent 5U' | influent 0 0 0 0 1 0; estimate 'influent 6U' | influent 0 0 0 0 0 1; run; /*---produces Output 4.2 on pages 143-144---*/ proc mixed data=e_2_2 method=ml; class influent; model y=/solution; random influent/solution; run; /*---produces Output 4.3 on pages 144-145---*/ proc mixed data=e_2_2 method=mivque0; class influent; model y=/solution; random influent/solution; run; /*---produces Output 4.4 on pages 145-146---*/ proc mixed data=e_2_2 noprofile; class influent; model y=/solution; random influent/solution; parms (56.16672059) (42.57352791) / noiter; run; /*---produces Output 4.5 on pages 146-147---*/ proc glm data=e_2_2; class influent; model y=influent; random influent/test; run; /*---produces Output 4.6 on page 147---*/ proc varcomp data=e_2_2 method=type1; class influent; model y=influent; run; /*---produces Output 4.7 on page 148---*/ data satt; c=6.0973; * coefficient of var(influent) in e(ms influent); mssite=1319.77936508/31; * ms error; msi=1925.19360789/5; * ms influent; sa2=56.16672059 ; *estimate of var(influent); v=(sa2**2)/((((msi/c)**2)/5)+(((mssite/c)**2)/31)); * approx df; c025=cinv(.025,v); * lower 2.5 chi square percentage point; c975=cinv(.975,v); * upper 97.5 chi square percentage point; low=v*sa2/C975; * lower limit; high=v*sa2/C025; * upper limit; run; /*---produces Output 4.8 on pages 150-151---*/ proc mixed data=e_2_2; class type influent; model y=type/solution; random influent(type)/solution; estimate 'influent 1' intercept 1 type 0 1 0|influent(type) 1 0 0 0 0 0; estimate 'influent 2' intercept 1 type 0 1 0|influent(type) 0 1 0 0 0 0; estimate 'influent 3' intercept 1 type 1 0 0|influent(type) 0 0 1 0 0 0; estimate 'influent 4' intercept 1 type 0 1 0|influent(type) 0 0 0 1 0 0; estimate 'influent 5' intercept 1 type 1 0 0|influent(type) 0 0 0 0 1 0; estimate 'influent 6' intercept 1 type 0 0 1|influent(type) 0 0 0 0 0 1; lsmeans type/pdiff; run; /*---produces Output 4.10 on pages 152-153---*/ proc glm data=e_2_2 data=e_2_2; class type influent; model y=type influent(type); random influent(type)/test; run; /*---produces Output 4.11 on page 154---*/ proc varcomp data=e_2_2 method=type1; class type influent; model y=type influent(type)/fixed=1; run; /*---produces Output 4.12 on page 155---*/ data satt; c=5.4393;mssite=1319.77936508/31; msit=421.6388167/3; sa2=15.10794656; v=(sa2**2)/((((msit/c)**2)/3)+(((mssite/c)**2)/31)); c025=cinv(.025,v); c975=cinv(.975,v); low=v*sa2/C975; high=v*sa2/C025; run; /*---Data Set 4.4---*/ data e_2_4; input sor lot wafer site y; datalines; 1 1 1 1 2006 1 1 1 2 1999 1 1 1 3 2007 1 1 2 1 1980 1 1 2 2 1988 1 1 2 3 1982 1 1 3 1 2000 1 1 3 2 1998 1 1 3 3 2007 1 2 1 1 1991 1 2 1 2 1990 1 2 1 3 1988 1 2 2 1 1987 1 2 2 2 1989 1 2 2 3 1988 1 2 3 1 1985 1 2 3 2 1983 1 2 3 3 1989 1 3 1 1 2000 1 3 1 2 2004 1 3 1 3 2004 1 3 2 1 2001 1 3 2 2 1996 1 3 2 3 2004 1 3 3 1 1999 1 3 3 2 2000 1 3 3 3 2002 1 4 1 1 1997 1 4 1 2 1994 1 4 1 3 1996 1 4 2 1 1996 1 4 2 2 2000 1 4 2 3 2002 1 4 3 1 1987 1 4 3 2 1990 1 4 3 3 1995 2 5 1 1 2013 2 5 1 2 2004 2 5 1 3 2009 2 5 2 1 2023 2 5 2 2 2018 2 5 2 3 2010 2 5 3 1 2020 2 5 3 2 2023 2 5 3 3 2015 2 6 1 1 2032 2 6 1 2 2036 2 6 1 3 2030 2 6 2 1 2018 2 6 2 2 2022 2 6 2 3 2026 2 6 3 1 2009 2 6 3 2 2010 2 6 3 3 2011 2 7 1 1 1984 2 7 1 2 1993 2 7 1 3 1993 2 7 2 1 1992 2 7 2 2 1992 2 7 2 3 1990 2 7 3 1 1996 2 7 3 2 1993 2 7 3 3 1987 2 8 1 1 1996 2 8 1 2 1989 2 8 1 3 1996 2 8 2 1 1997 2 8 2 2 1993 2 8 2 3 1996 2 8 3 1 1990 2 8 3 2 1989 2 8 3 3 1992 ; /*---produces Output 4.13 on pages 156-157---*/ proc mixed data=e_2_4; class lot wafer site; model y=; random lot wafer(lot); run; /*---produces Output 4.14 on page 158---*/ proc varcomp method=type1; class lot wafer site; model y=lot wafer(lot); run; /*---produces Output 4.15 on page 159---*/ proc mixed data=e_2_4; class sor lot wafer site; model y= sor/ddfm=satterth; random lot(sor) wafer(sor lot); lsmeans sor/pdiff; run; /*---produces Output 4.16 on page 161---*/ proc varcomp method=type1; class sor lot wafer site; model y=sor lot(sor) wafer(lot sor)/fixed=1; run; /*---produces Output 4.17 on page 162---*/ proc mixed scoring=4; class sor lot wafer site; model y= sor/ddfm=satterth; random lot(sor)/group=sor; random wafer(sor lot); lsmeans sor/pdiff; run; /*---Data Set 4.5---*/ data ex2_5; input loc block fam y; datalines; 1 1 1 268 1 2 1 279 1 3 1 261 1 1 2 242 1 2 2 261 1 3 2 258 1 1 3 242 1 2 3 245 1 3 3 234 1 1 4 225 1 2 4 231 1 3 4 219 1 1 5 236 1 2 5 260 1 3 5 248 2 1 1 238 2 2 1 220 2 3 1 243 2 1 2 215 2 2 2 192 2 3 2 226 2 1 3 198 2 2 3 151 2 3 3 191 2 1 4 195 2 2 4 182 2 3 4 202 2 1 5 201 2 2 5 161 2 3 5 196 3 1 1 221 3 2 1 216 3 3 1 224 3 1 2 208 3 2 2 197 3 3 2 201 3 1 3 186 3 2 3 173 3 3 3 161 3 1 4 207 3 2 4 183 3 3 4 186 3 1 5 200 3 2 5 207 3 3 5 190 4 1 1 194 4 2 1 194 4 3 1 197 4 1 2 203 4 2 2 191 4 3 2 204 4 1 3 177 4 2 3 170 4 3 3 180 4 1 4 180 4 2 4 195 4 3 4 193 4 1 5 199 4 2 5 183 4 3 5 208 ; /*---produces Output 4.18 on page 165---*/ proc mixed data=ex2_5; class loc fam block; model y=; random loc fam loc*fam block(loc); run; /*---produces Outputs 4.19 and 4.20 on pages 166-168---*/ proc glm data=ex2_5; class loc fam block; model y= loc fam loc*fam block(loc); random loc fam loc*fam block(loc)/test; run; /*---------------*/ /*---Chapter 5---*/ /*---------------*/ /*---Data Set 5.3---*/ data rcb; input id blk trt adg iwt; datalines; 1 1 0 1.03 338 2 1 10 1.54 477 3 1 20 1.82 444 4 1 30 1.86 370 5 2 0 1.31 403 6 2 10 2.16 451 7 2 20 2.13 450 8 2 30 2.23 393 9 3 0 1.59 394 10 3 10 2.53 499 11 3 20 2.33 482 12 3 30 1.80 317 13 4 0 2.09 499 14 4 10 2.20 411 15 4 20 2.21 391 16 4 30 2.82 396 17 5 0 1.66 371 18 5 10 2.30 418 19 5 20 2.65 486 20 5 30 2.18 333 21 6 0 1.42 395 22 6 10 1.93 325 23 6 20 1.58 316 24 6 30 1.49 311 25 7 0 1.41 414 26 7 10 1.65 313 27 7 20 1.08 309 28 7 30 1.34 323 29 8 0 0.18 315 30 8 10 0.64 376 31 8 20 0.76 308 32 8 30 0.70 439 ; /*---produces Output 5.1 on page 178---*/ proc mixed data=rcb; class trt blk; model adg=trt iwt*trt / noint solution; random blk; run; /*---produces Output 5.2 on page 180---*/ proc mixed data=rcb; class trt blk; model adg=trt iwt iwt*trt / solution; random blk; run; /*---produces Outputs 5.3 and 5.4 on pages 181-182---*/ proc mixed data=rcb; class trt blk; model adg=trt iwt / solution; estimate 'linear' trt -3 -1 1 3; estimate 'quad' trt -1 1 1 -1; estimate 'cubic' trt -1 3 -3 1; random blk; lsmeans trt / pdiff ; run; /*---produces Output 5.5 on pages 184-185---*/ proc glm; class blk trt; model adg= trt blk iwt / solution; run; /*---produces Output 5.6 on pages 186---*/ proc sort data=rcb; by blk; proc means mean n; var adg iwt; by blk; output out=means mean=madg miwt n=NADP niwt; run; proc glm; weight NADP; model madg=miwt; run; /*---Data Set 5.4---*/ data bib; input id blk trt y x grp; datalines; 1 1 1 31 20 13 2 1 2 29 18 24 3 1 3 31 11 13 4 2 1 29 37 13 5 2 2 34 37 24 6 2 4 33 39 24 7 3 1 31 29 13 8 3 3 28 12 13 9 3 4 34 31 24 10 4 2 39 37 24 11 4 3 35 29 13 12 4 4 32 28 24 13 5 1 33 12 13 14 5 2 35 19 24 15 5 3 38 16 13 16 6 1 35 31 13 17 6 2 31 13 24 18 6 4 42 39 24 19 7 1 42 38 13 20 7 3 43 30 13 21 7 4 42 25 24 22 8 2 27 13 24 23 8 3 37 39 13 24 8 4 29 21 24 ; /*---produces Output 5.7 on pages 188-189---*/ proc mixed data=bib; class blk trt; model y=trt x*trt/solution ddfm=satterth; random blk; run; /*---produces Output 5.8 on pages 190-191---*/ proc mixed data=bib; class blk trt; model y=trt x x*trt/solution ddfm=satterth; estimate 'b1-b2' x*trt 1 -1 0 0; estimate 'b1-b3' x*trt 1 0 -1 0; estimate 'b1-b4' x*trt 1 0 0 -1; estimate 'b2-b3' x*trt 0 1 -1 0; estimate 'b2-b4' x*trt 0 1 0 -1; estimate 'b3-b4' x*trt 0 0 1 -1; random blk; run; /*---produces Outputs 5.9-5.12 on pages 193-195---*/ proc mixed data=bib; class blk trt grp; model y=trt x*grp / solution ddfm=satterth; random blk; estimate 't1 at 25%=17' intercept 1 trt 1 0 0 0 x*grp 17 0; estimate 't1 at 50%=28.5'intercept 1 trt 1 0 0 0 x*grp 28.5 0; estimate 't1 at 75%=37' intercept 1 trt 1 0 0 0 x*grp 37 0; estimate 't1 at mean' intercept 1 trt 1 0 0 0 x*grp 26 0; estimate 't3 at 25%=17' intercept 1 trt 0 0 1 0 x*grp 17 0; estimate 't3 at 50%=28.5' intercept 1 trt 0 0 1 0 x*grp 28.5 0; estimate 't3 at 75%=37' intercept 1 trt 0 0 1 0 x*grp 37 0; estimate 't3 at mean' intercept 1 trt 0 0 1 0 x*grp 26 0; estimate 't2 at 25%=17' intercept 1 trt 0 1 0 0 x*grp 0 17; estimate 't2 at 50%=28.5' intercept 1 trt 0 1 0 0 x*grp 0 28.5; estimate 't2 at 75%=37' intercept 1 trt 0 1 0 0 x*grp 0 37; estimate 't2 at mean' intercept 1 trt 0 1 0 0 x*grp 0 26; estimate 't4 at 25%=17' intercept 1 trt 0 0 0 1 x*grp 0 17; estimate 't4 at 50%=28.5' intercept 1 trt 0 0 0 1 x*grp 0 28.5; estimate 't4 at 75%=37' intercept 1 trt 0 0 0 1 x*grp 0 37; estimate 't4 at mean' intercept 1 trt 0 0 0 1 x*grp 0 26; ****comparisons of means at 25%, 75%, and 50%; estimate 't1-t2 75%=37' trt 1 -1 0 0 x*grp 37 -37; estimate 't1-t2 50%=28.5' trt 1 -1 0 0 x*grp 28.5 -28.5; estimate 't1-t2 25%=17' trt 1 -1 0 0 x*grp 17 -17; estimate 't1-t4 75%=37' trt 1 0 0 -1 x*grp 37 -37; estimate 't1-t4 50%=28.5' trt 1 0 0 -1 x*grp 28.5 -28.5; estimate 't1-t4 25%=17' trt 1 0 0 -1 x*grp 17 -17; estimate 't3-t2 75%=37' trt 0 -1 1 0 x*grp 37 -37; estimate 't3-t2 50%=28.5' trt 0 -1 1 0 x*grp 28.5 -28.5; estimate 't3-t2 25%=17' trt 0 -1 1 0 x*grp 17 -17; estimate 't3-t4 75%=37' trt 0 0 1 -1 x*grp 37 -37; estimate 't3-t4 50%=28.5' trt 0 0 1 -1 x*grp 28.5 -28.5; estimate 't3-t4 25%=17' trt 0 0 1 -1 x*grp 17 -17; ****comparison of LSMEANS at X=26***; estimate 't1-t2 at mean' trt 1 -1 0 0 x*grp 26 -26; estimate 't1-t3 at mean' trt 1 0 -1 0; estimate 't1-t4 at mean' trt 1 0 0 -1 x*grp 26 -26; estimate 't2-t3 at mean' trt 0 1 -1 0 x*grp 26 -26; estimate 't2-t4 at mean' trt 0 1 0 -1; estimate 't3-t4 at mean' trt 0 0 1 -1 x*grp 26 -26; lsmeans trt / diff e; run; /*---Data Set 5.5---*/ data incblk; input id blk trt y x; datalines; 1 1 1 0.62 0.078 2 1 2 0.91 0.010 3 2 1 0.41 0.032 4 2 2 0.48 0.050 5 3 1 0.41 0.000 6 3 2 0.49 0.015 7 4 1 0.26 0.010 8 4 2 0.28 0.016 9 5 1 0.29 0.053 10 5 2 0.37 0.069 11 6 1 0.73 0.007 12 6 2 0.72 0.062 13 7 3 0.33 0.036 14 7 4 0.31 0.068 15 8 3 0.18 0.068 16 8 4 0.18 0.057 17 9 3 0.19 0.077 18 9 4 0.25 0.090 19 10 3 0.28 0.023 20 10 4 0.32 0.039 21 11 3 0.33 0.017 22 11 4 0.27 0.062 23 12 3 0.24 0.058 24 12 4 0.23 0.082 ; /*---produces Output 5.13 on pages 197-198---*/ proc mixed data=incblk; class blk trt; model y=trt x*trt / noint solution ddfm=satterth; random blk; run; /*---produces Output 5.14 on pages 198-199---*/ proc mixed data=incblk; class blk trt; model y=trt x x*trt / noint solution ddfm=satterth; random blk; run; /*---produces Output 5.15 on page 200---*/ proc mixed data=incblk; class blk trt; model y=trt x / noint solution ddfm=satterth; lsmeans trt / pdiff; random blk; run; /*---Data Set 5.6---*/ data splitpt; input id met teacher gen$ student score y_ex; datalines; 1 1 1 f 1 15 11 2 1 1 f 2 17 11 3 1 1 f 3 16 11 4 1 1 f 4 16 11 5 1 1 m 1 17 11 6 1 1 m 2 16 11 7 1 1 m 3 17 11 8 1 1 m 4 17 11 9 1 2 f 1 18 8 10 1 2 f 2 17 8 11 1 2 f 3 17 8 12 1 2 f 4 16 8 13 1 2 m 1 16 8 14 1 2 m 2 17 8 15 1 2 m 3 18 8 16 1 2 m 4 17 8 17 1 3 f 1 15 9 18 1 3 f 2 15 9 19 1 3 f 3 15 9 20 1 3 f 4 16 9 21 1 3 m 1 15 9 22 1 3 m 2 15 9 23 1 3 m 3 15 9 24 1 3 m 4 16 9 25 1 4 f 1 16 17 26 1 4 f 2 17 17 27 1 4 f 3 16 17 28 1 4 f 4 15 17 29 1 4 m 1 14 17 30 1 4 m 2 17 17 31 1 4 m 3 17 17 32 1 4 m 4 16 17 33 2 1 f 1 21 6 34 2 1 f 2 22 6 35 2 1 f 3 22 6 36 2 1 f 4 21 6 37 2 1 m 1 20 6 38 2 1 m 2 20 6 39 2 1 m 3 21 6 40 2 1 m 4 22 6 41 2 2 f 1 21 11 42 2 2 f 2 20 11 43 2 2 f 3 20 11 44 2 2 f 4 21 11 45 2 2 m 1 18 11 46 2 2 m 2 19 11 47 2 2 m 3 20 11 48 2 2 m 4 19 11 49 2 3 f 1 23 13 50 2 3 f 2 23 13 51 2 3 f 3 24 13 52 2 3 f 4 23 13 53 2 3 m 1 21 13 54 2 3 m 2 20 13 55 2 3 m 3 21 13 56 2 3 m 4 22 13 57 2 4 f 1 23 18 58 2 4 f 2 22 18 59 2 4 f 3 22 18 60 2 4 f 4 22 18 61 2 4 m 1 19 18 62 2 4 m 2 19 18 63 2 4 m 3 19 18 64 2 4 m 4 20 18 65 3 1 f 1 33 8 66 3 1 f 2 31 8 67 3 1 f 3 31 8 68 3 1 f 4 32 8 69 3 1 m 1 27 8 70 3 1 m 2 28 8 71 3 1 m 3 27 8 72 3 1 m 4 27 8 73 3 2 f 1 28 18 74 3 2 f 2 27 18 75 3 2 f 3 27 18 76 3 2 f 4 29 18 77 3 2 m 1 23 18 78 3 2 m 2 23 18 79 3 2 m 3 24 18 80 3 2 m 4 23 18 81 3 3 f 1 30 12 82 3 3 f 2 29 12 83 3 3 f 3 29 12 84 3 3 f 4 30 12 85 3 3 m 1 25 12 86 3 3 m 2 25 12 87 3 3 m 3 26 12 88 3 3 m 4 24 12 89 3 4 f 1 28 6 90 3 4 f 2 27 6 91 3 4 f 3 28 6 92 3 4 f 4 30 6 93 3 4 m 1 25 6 94 3 4 m 2 25 6 95 3 4 m 3 22 6 96 3 4 m 4 25 6 ; /*---produces Output 5.16 on pages 202-203---*/ proc mixed data=splitpt; class teacher met gen; model score = gen*met y_ex*gen*met / solution noint ddfm=sat; random teacher(met); run; /*---produces Output 5.17 on page 204---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met y_ex y_ex*met y_ex*gen y_ex*gen*met / ddfm=sat; random teacher(met); run; /*---produces Output 5.18 on page 205---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met y_ex y_ex*met y_ex*gen / ddfm=sat; random teacher(met); run; /*---produces Output 5.19 on page 206---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met y_ex y_ex*gen / ddfm=sat; random teacher(met); run; /*---produces Outputs 5.20-5.23 on pages 208-211---*/ proc mixed data=splitpt; class teacher met gen; model score =gen*met y_ex*gen / noint solution; random teacher(met); lsmeans met*gen / pdiff at means; lsmeans gen*met / pdiff at y_ex=5; lsmeans gen*met / pdiff at y_ex=10; lsmeans gen*met / pdiff at y_ex=20; estimate 'f-m m=1 y_ex=5' gen*met 1 -1 0 0 0 0 y_ex*gen 5 -5; estimate 'f-m m=1 y_ex=10' gen*met 1 -1 0 0 0 0 y_ex*gen 10 -10; estimate 'f-m m=1 y_ex=20' gen*met 1 -1 0 0 0 0 y_ex*gen 20 -20; estimate 'f-m m=2 y_ex=5' gen*met 0 0 1 -1 y_ex*gen 5 -5; estimate 'f-m m=2 y_ex=10' gen*met 0 0 1 -1 y_ex*gen 10 -10; estimate 'f-m m=2 y_ex=20' gen*met 0 0 1 -1 y_ex*gen 20 -20; estimate 'f-m m=3 y_ex=5' gen*met 0 0 0 0 1 -1 y_ex*gen 5 -5; estimate 'f-m m=3 y_ex=10' gen*met 0 0 0 0 1 -1 y_ex*gen 10 -10; estimate 'f-m m=3 y_ex=20' gen*met 0 0 0 0 1 -1 y_ex*gen 20 -20; estimate 'male m=1 y_ex=5' gen*met 1 0 0 0 0 0 y_ex*gen 5 0; estimate 'male m=1 y_ex=10' gen*met 1 0 0 0 0 0 y_ex*gen 10 0; estimate 'male m=1 y_ex=20' gen*met 1 0 0 0 0 0 y_ex*gen 20 0; estimate 'male m=2 y_ex=5' gen*met 0 0 1 0 0 0 y_ex*gen 5 0; estimate 'male m=2 y_ex=10' gen*met 0 0 1 0 0 0 y_ex*gen 10 0; estimate 'male m=2 y_ex=20' gen*met 0 0 1 0 0 0 y_ex*gen 20 0; estimate 'male m=3 y_ex=5' gen*met 0 0 0 0 1 0 y_ex*gen 5 0; estimate 'male m=3 y_ex=10' gen*met 0 0 0 0 1 0 y_ex*gen 10 0; estimate 'male m=3 y_ex=20' gen*met 0 0 0 0 1 0 y_ex*gen 20 0; estimate 'female m=1 y_ex=5' gen*met 0 1 0 0 0 0 y_ex*gen 0 5; estimate 'female m=1 y_ex=10' gen*met 0 1 0 0 0 0 y_ex*gen 0 10; estimate 'female m=1 y_ex=20' gen*met 0 1 0 0 0 0 y_ex*gen 0 20; estimate 'female m=2 y_ex=5' gen*met 0 0 0 1 0 0 y_ex*gen 0 5; estimate 'female m=2 y_ex=10' gen*met 0 0 0 1 0 0 y_ex*gen 0 10; estimate 'female m=2 y_ex=20' gen*met 0 0 0 1 0 0 y_ex*gen 0 20; estimate 'female m=3 y_ex=5' gen*met 0 0 0 0 0 1 y_ex*gen 0 5; estimate 'female m=3 y_ex=10' gen*met 0 0 0 0 0 1 y_ex*gen 0 10; estimate 'female m=3 y_ex=20' gen*met 0 0 0 0 0 1 y_ex*gen 0 20; run; /*---Data Set 5.7---*/ data splitpt; input id met teacher gen$ iq score; datalines; 1 1 1 f 89 54 2 1 1 f 105 55 3 1 1 f 108 54 4 1 1 f 116 64 5 1 1 m 95 59 6 1 1 m 103 58 7 1 1 m 91 42 8 1 1 m 82 48 9 1 2 f 83 48 10 1 2 f 103 56 11 1 2 f 123 67 12 1 2 f 103 54 13 1 2 m 118 65 14 1 2 m 101 65 15 1 2 m 101 50 16 1 2 m 82 55 17 1 3 f 115 71 18 1 3 f 91 66 19 1 3 f 109 69 20 1 3 f 85 59 21 1 3 m 98 76 22 1 3 m 84 64 23 1 3 m 91 63 24 1 3 m 110 74 25 1 4 f 120 75 26 1 4 f 98 60 27 1 4 f 99 64 28 1 4 f 91 59 29 1 4 m 80 55 30 1 4 m 112 70 31 1 4 m 105 63 32 1 4 m 94 62 33 2 1 f 97 67 34 2 1 f 105 74 35 2 1 f 120 78 36 2 1 f 92 69 37 2 1 m 91 67 38 2 1 m 96 64 39 2 1 m 95 65 40 2 1 m 84 52 41 2 2 f 105 73 42 2 2 f 110 78 43 2 2 f 98 75 44 2 2 f 92 65 45 2 2 m 104 75 46 2 2 m 105 78 47 2 2 m 82 58 48 2 2 m 109 75 49 2 3 f 141 97 50 2 3 f 107 68 51 2 3 f 116 82 52 2 3 f 105 86 53 2 3 m 93 71 54 2 3 m 113 82 55 2 3 m 92 72 56 2 3 m 115 77 57 2 4 f 112 74 58 2 4 f 96 76 59 2 4 f 103 78 60 2 4 f 105 77 61 2 4 m 111 75 62 2 4 m 121 86 63 2 4 m 87 68 64 2 4 m 90 74 65 3 1 f 87 71 66 3 1 f 78 71 67 3 1 f 117 85 68 3 1 f 108 87 69 3 1 m 92 65 70 3 1 m 111 72 71 3 1 m 126 85 72 3 1 m 123 78 73 3 2 f 126 91 74 3 2 f 112 80 75 3 2 f 108 75 76 3 2 f 92 65 77 3 2 m 95 73 78 3 2 m 109 73 79 3 2 m 115 78 80 3 2 m 115 71 81 3 3 f 102 82 82 3 3 f 96 72 83 3 3 f 113 87 84 3 3 f 127 91 85 3 3 m 112 85 86 3 3 m 96 68 87 3 3 m 114 86 88 3 3 m 101 78 89 3 4 f 95 86 90 3 4 f 105 91 91 3 4 f 95 81 92 3 4 f 102 85 93 3 4 m 80 68 94 3 4 m 97 81 95 3 4 m 114 89 96 3 4 m 100 87 ; proc means data=splitpt; var score; run; /*---produces Outputs 5.24 and 5.25 on pages 212-214---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met iq*gen*met / solution ddfm=satterth; random teacher(met); run; /*---produces Outputs 5.26 and 5.27 on pages 215-216---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met iq / solution ddfm=satterth; random teacher(met); run; /*---produces Outputs 5.28 and 5.29 on pages 217-218---*/ proc mixed data=splitpt; class teacher met gen; model score = met gen gen*met iq / solution ddfm=satterth; random teacher(met); lsmeans met gen met*gen / pdiff; run; /*---produces Outputs 5.30 and 5.31 on pages 219-222---*/ proc glm; class teacher met gen; model score=met teacher(met) gen gen*met iq*gen*met / solution; random teacher(met) / test; run; proc glm; class teacher met gen; model score=met teacher(met) gen gen*met iq / solution; random teacher(met) / test; run; /*---Data Set 5.8---*/ data lots; input id grp temp type $ wafer site delta thick; datalines; 1 1 900 A 1 1 291 1919 2 1 900 A 1 2 295 1919 3 1 900 A 1 3 294 1919 4 1 900 A 2 1 318 2113 5 1 900 A 2 2 315 2113 6 1 900 A 2 3 315 2113 7 1 900 B 1 1 349 1965 8 1 900 B 1 2 348 1965 9 1 900 B 1 3 345 1965 10 1 900 B 2 1 332 1829 11 1 900 B 2 2 334 1829 12 1 900 B 2 3 331 1829 13 1 1000 A 1 1 319 2098 14 1 1000 A 1 2 315 2098 15 1 1000 A 1 3 321 2098 16 1 1000 A 2 1 290 1823 17 1 1000 A 2 2 289 1823 18 1 1000 A 2 3 292 1823 19 1 1000 B 1 1 358 2059 20 1 1000 B 1 2 357 2059 21 1 1000 B 1 3 362 2059 22 1 1000 B 2 1 365 2145 23 1 1000 B 2 2 367 2145 24 1 1000 B 2 3 367 2145 25 1 1100 A 1 1 264 1846 26 1 1100 A 1 2 266 1846 27 1 1100 A 1 3 268 1846 28 1 1100 A 2 1 276 2028 29 1 1100 A 2 2 280 2028 30 1 1100 A 2 3 278 2028 31 1 1100 B 1 1 352 2086 32 1 1100 B 1 2 353 2086 33 1 1100 B 1 3 350 2086 34 1 1100 B 2 1 330 1899 35 1 1100 B 2 2 330 1899 36 1 1100 B 2 3 334 1899 37 2 900 A 1 1 306 1841 38 2 900 A 1 2 302 1841 39 2 900 A 1 3 305 1841 40 2 900 A 2 1 342 2170 41 2 900 A 2 2 341 2170 42 2 900 A 2 3 336 2170 43 2 900 B 1 1 342 1981 44 2 900 B 1 2 341 1981 45 2 900 B 1 3 340 1981 46 2 900 B 2 1 366 2190 47 2 900 B 2 2 363 2190 48 2 900 B 2 3 361 2190 49 2 1000 A 1 1 299 1915 50 2 1000 A 1 2 296 1915 51 2 1000 A 1 3 297 1915 52 2 1000 A 2 1 329 2161 53 2 1000 A 2 2 330 2161 54 2 1000 A 2 3 332 2161 55 2 1000 B 1 1 348 2072 56 2 1000 B 1 2 346 2072 57 2 1000 B 1 3 346 2072 58 2 1000 B 2 1 350 2082 59 2 1000 B 2 2 346 2082 60 2 1000 B 2 3 347 2082 61 2 1100 A 1 1 285 1854 62 2 1100 A 1 2 292 1854 63 2 1100 A 1 3 289 1854 64 2 1100 A 2 1 306 2046 65 2 1100 A 2 2 303 2046 66 2 1100 A 2 3 304 2046 67 2 1100 B 1 1 357 2062 68 2 1100 B 1 2 360 2062 69 2 1100 B 1 3 359 2062 70 2 1100 B 2 1 361 2055 71 2 1100 B 2 2 361 2055 72 2 1100 B 2 3 360 2055 73 3 900 A 1 1 318 2019 74 3 900 A 1 2 323 2019 75 3 900 A 1 3 323 2019 76 3 900 A 2 1 307 1872 77 3 900 A 2 2 308 1872 78 3 900 A 2 3 308 1872 79 3 900 B 1 1 372 2182 80 3 900 B 1 2 371 2182 81 3 900 B 1 3 370 2182 82 3 900 B 2 1 348 1973 83 3 900 B 2 2 349 1973 84 3 900 B 2 3 352 1973 85 3 1000 A 1 1 264 1828 86 3 1000 A 1 2 265 1828 87 3 1000 A 1 3 265 1828 88 3 1000 A 2 1 274 1827 89 3 1000 A 2 2 268 1827 90 3 1000 A 2 3 275 1827 91 3 1000 B 1 1 332 2109 92 3 1000 B 1 2 337 2109 93 3 1000 B 1 3 335 2109 94 3 1000 B 2 1 322 2003 95 3 1000 B 2 2 326 2003 96 3 1000 B 2 3 321 2003 97 3 1100 A 1 1 273 1925 98 3 1100 A 1 2 275 1925 99 3 1100 A 1 3 276 1925 100 3 1100 A 2 1 276 1942 101 3 1100 A 2 2 273 1942 102 3 1100 A 2 3 273 1942 103 3 1100 B 1 1 333 1893 104 3 1100 B 1 2 332 1893 105 3 1100 B 1 3 332 1893 106 3 1100 B 2 1 349 2170 107 3 1100 B 2 2 350 2170 108 3 1100 B 2 3 352 2170 109 4 900 A 1 1 295 1862 110 4 900 A 1 2 297 1862 111 4 900 A 1 3 296 1862 112 4 900 A 2 1 326 2149 113 4 900 A 2 2 326 2149 114 4 900 A 2 3 328 2149 115 4 900 B 1 1 322 1888 116 4 900 B 1 2 325 1888 117 4 900 B 1 3 327 1888 118 4 900 B 2 1 335 1998 119 4 900 B 2 2 332 1998 120 4 900 B 2 3 334 1998 121 4 1000 A 1 1 258 1815 122 4 1000 A 1 2 260 1815 123 4 1000 A 1 3 260 1815 124 4 1000 A 2 1 280 1981 125 4 1000 A 2 2 276 1981 126 4 1000 A 2 3 278 1981 127 4 1000 B 1 1 319 2012 128 4 1000 B 1 2 322 2012 129 4 1000 B 1 3 317 2012 130 4 1000 B 2 1 311 1892 131 4 1000 B 2 2 313 1892 132 4 1000 B 2 3 313 1892 133 4 1100 A 1 1 282 2083 134 4 1100 A 1 2 282 2083 135 4 1100 A 1 3 279 2083 136 4 1100 A 2 1 271 2036 137 4 1100 A 2 2 271 2036 138 4 1100 A 2 3 270 2036 139 4 1100 B 1 1 335 2174 140 4 1100 B 1 2 339 2174 141 4 1100 B 1 3 338 2174 142 4 1100 B 2 1 304 1802 143 4 1100 B 2 2 303 1802 144 4 1100 B 2 3 303 1802 ; /*---produces Outputs 5.32 and 5.33 on pages 225-227---*/ proc mixed; class grp temp type; model delta=temp|type thick / ddfm=satterth; random grp grp*temp grp*type grp*type*temp wafer(grp temp type); lsmeans temp type; lsmeans temp*type / pdiff; run; /*---------------*/ /*---Chapter 6---*/ /*---------------*/ /*---Data Set 6.4---*/ data; input sire dam adg; datalines; 1 1 2.24 1 1 1.85 1 2 2.05 1 2 2.41 2 1 1.99 2 1 1.93 2 2 2.72 2 2 2.32 3 1 2.33 3 1 2.68 3 2 2.69 3 2 2.71 4 1 2.42 4 1 2.01 4 2 1.86 4 2 1.79 5 1 2.82 5 1 2.64 5 2 2.58 5 2 2.56 ; /*---produces Output 6.1 on page 236---*/ proc mixed; class sire dam; model adg=; random sire dam(sire); estimate 'sire 1 BLUP broad' intercept 1 | sire 1 0; estimate 'sire 1 BLUP narrow' intercept 1 | sire 1 0 0 0 0 dam(sire) 0.5 0.5 0 0 0 0 0 0 0 0; estimate 'sire1 BLUP dam 1' intercept 1 | sire 1 0 dam(sire) 1 0; run; /*---produces Output 6.2 on page 238---*/ proc glm; class sire dam; model adg=sire dam(sire); lsmeans sire /stderr; lsmeans sire / e=dam(sire) stderr; run; /*---produces Output 6.3 on pages 239-240---*/ proc mixed; class sire dam; model adg= sire; random dam(sire); lsmeans sire; estimate 'sire 1 mean broad' intercept 1 sire 1 0; estimate 'sire 1 mean narrow' intercept 1 sire 1 0 | dam(sire) 0.5 0.5 0 ; estimate 'sire 1 - dam 1' intercept 1 sire 1 0 | dam(sire) 1 0; run; /*---Data Set 6.5---*/ data; input machine operator y; datalines; 1 1 51.43 1 1 51.28 1 2 50.93 1 2 50.75 1 3 50.47 1 3 50.83 2 1 51.91 2 1 52.43 2 2 52.26 2 2 52.33 2 3 51.58 2 3 51.23 ; /*---produces Output 6.4 on pages 243-244---*/ proc mixed; class machine operator; model y=machine; random operator machine*operator; estimate 'BLUE - mach 1' intercept 1 machine 1 0; estimate 'BLUE - diff' machine 1 -1; estimate 'BLUP - m 1 narrow' intercept 3 machine 3 0 | operator 1 1 1 machine*operator 1 1 1 0 0 0/divisor=3; estimate 'BLUP - diff narrow' machine 3 -3 | machine*operator 1 1 1 -1 -1 -1/divisor=3; estimate 'BLUP - oper 1' intercept 2 machine 1 1 | operator 2 0 0 machine*operator 1 0 0 1 0 0/divisor=2; estimate 'BLUP - m 1 op 1' intercept 1 machine 1 0 | operator 1 0 0 machine*operator 1 0 0 0 0 0; estimate 'BLUP - diff op 1' machine 1 -1 | machine*operator 1 0 0 -1 0 0; estimate 'BLUP - m 1 interm' intercept 3 machine 3 0 | operator 1 1 1 machine*operator 0 0 0 0 0 0/divisor=3; estimate 'BLUP - op 1 broad' intercept 2 machine 1 1 | operator 2 0 0 machine*operator 0 0 0 0 0 0 / divisor=2; run; /*---produces Outputs 6.5 and 6.6 on pages 246 and 247---*/ proc glm; class machine operator; model y=machine|operator; random operator machine*operator / test; lsmeans machine operator machine*operator / stderr; lsmeans machine/stderr e=machine*operator; estimate 'diff' machine 1 -1 / e; run; /*---produces Output 6.7 on page 250---*/ proc mixed data=mltloc; class loc block trt; model adg=trt / ddfm=satterth; random loc block(trt) loc*trt; estimate 'loc 1 blup broad' intercept 4 trt 1 1 1 1 | loc 4 0/divisor=4; estimate 'loc 1 blup narrow' intercept 4 trt 1 1 1 1 | loc 4 0 loc*trt 1 1 1 1 0/divisor=4; estimate 'trt 1 x loc 1 blup' intercept 1 trt 1 0 0 0 | loc 1 0 loc*trt 1 0; estimate 'trt 2 x loc 1 blup' intercept 1 trt 0 1 0 0 | loc 1 0 loc*trt 0 1 0/e; estimate 'trt 1 v 2 at loc 1' trt 1 -1 0 | loc*trt 1 -1 0; run; /*---------------*/ /*---Chapter 7---*/ /*---------------*/ /*---Data Set 7.2---*/ data wheat; input id variety yield moist; datalines; 1 1 41 10 2 1 69 57 3 1 53 32 4 1 66 52 5 1 64 47 6 1 64 48 7 2 49 30 8 2 44 21 9 2 44 20 10 2 46 26 11 2 57 44 12 2 42 19 13 3 69 50 14 3 62 40 15 3 50 23 16 3 76 58 17 3 48 21 18 3 55 30 19 4 48 22 20 4 60 40 21 4 45 17 22 4 47 21 23 4 62 44 24 4 43 13 25 5 65 49 26 5 63 44 27 5 71 57 28 5 68 51 29 5 52 27 30 5 68 52 31 6 76 55 32 6 46 11 33 6 45 11 34 6 67 43 35 6 65 38 36 6 79 60 37 7 35 17 38 7 37 20 39 7 30 11 40 7 30 10 41 7 57 48 42 7 49 36 43 8 75 57 44 8 64 41 45 8 46 15 46 8 54 28 47 8 52 23 48 8 52 23 49 9 51 26 50 9 63 44 51 9 42 13 52 9 61 40 53 9 67 48 54 9 69 53 55 10 60 37 56 10 73 58 57 10 66 44 58 10 71 53 59 10 67 48 60 10 74 59 ; /*---produces Outputs 7.1 and 7.2 on pages 257-258---*/ proc mixed scoring=8; class variety; model yield = moist / solution; random int moist / type=un sub=variety solution; run; /*---produces Output 7.3 on pages 259-260---*/ proc mixed scoring=8; class variety; model yield = moist / solution; random int moist / sub=variety solution; run; /*---produces Output 7.4 on pages 262-263---*/ data class; input size@@; retain class 1; do i = 1 to size; output; end; drop size i; class + 1; datalines; 21 29 16 24 20 19 16 8 19 18 14 14 13 19 22 17 11 9 22 18 19 24 30 20 16 21 29 22 18 19 11 16 15 8 13 20 21 17 20 19 17 17 21 28 19 17 21 24 26 35 21 20 22 18 21 22 11 18 7 26 19 7 25 18 17 18 10 17 16 9 23 18 17 19 17 13 20 17 8 20 16 20 26 14 17 27 16 23 25 20 24 28 8 22 17 21 25 14 21 23 13 28 13 22 25 24 14 18 38 14 21 21 25 27 34 34 23 19 22 23 23 26 25 26 14 24 24 10 18 22 17 22 20 19 14 16 17 19 7 9 23 13 18 24 24 19 30 21 17 26 29 32 21 8 8 24 15 27 15 18 15 18 18 26 23 7 21 22 23 15 20 18 29 25 22 21 12 16 12 12 15 17 20 20 21 15 18 18 32 25 run; data sims; input pretot gain @@; datalines; 29 2 38 0 31 6 31 6 29 5 23 9 23 7 33 2 30 1 32 3 22 4 29 6 34 2 30 -1 35 1 25 1 22 3 31 1 33 3 31 1 35 2 20 2 18 -3 12 5 9 1 11 -3 12 3 12 -8 18 -6 13 -4 8 4 21 1 4 4 10 1 8 4 12 -6 14 -2 9 2 11 3 11 -5 12 7 12 2 17 -7 7 3 17 -6 9 2 16 2 4 1 5 8 12 -4 7 -2 13 1 16 -10 11 -4 9 -1 11 6 6 1 9 3 5 9 12 -5 8 1 12 -4 8 4 9 2 9 5 11 -4 11 1 16 13 17 4 21 6 18 9 21 0 18 -2 11 9 14 10 11 -4 13 4 13 4 10 7 11 3 17 9 14 2 17 4 12 1 12 8 13 -2 10 5 14 6 12 15 13 -5 20 5 10 9 16 1 10 7 28 -4 11 5 14 -2 24 5 13 7 5 5 23 8 11 5 18 4 21 5 24 4 18 12 29 4 18 0 9 11 15 2 25 4 21 0 20 10 30 -3 18 -10 26 -2 23 -4 18 -4 19 8 18 -6 24 1 21 8 19 -1 31 0 14 -5 24 0 19 -13 22 -10 21 6 20 2 11 6 10 7 24 -10 24 -7 12 5 15 -4 14 -3 8 0 8 -2 16 14 16 -4 18 4 4 0 21 -15 21 -12 9 -5 14 -6 7 -1 13 -7 12 -5 4 10 17 -4 13 -7 16 5 17 10 30 0 19 10 17 -7 9 2 17 0 15 -8 12 10 14 -2 24 -11 24 1 6 4 15 -4 20 3 5 3 8 2 10 5 14 8 6 4 18 2 9 0 12 5 9 3 9 1 16 10 10 6 5 11 9 0 9 1 11 1 13 0 7 5 27 -4 8 -2 12 2 16 -7 14 5 8 4 11 4 16 4 8 2 11 7 6 0 9 4 12 3 27 1 11 2 10 -1 17 -2 10 -1 11 -1 15 4 7 -3 7 1 4 8 2 16 7 8 5 1 16 0 12 -5 19 -2 5 3 6 2 18 7 3 5 9 4 6 5 7 2 13 -7 8 3 7 7 6 3 9 1 7 1 9 5 8 5 7 6 22 2 9 16 18 7 27 6 28 8 14 7 13 0 21 11 20 5 22 5 19 3 13 15 20 3 24 2 32 4 17 0 17 11 12 13 19 3 8 7 17 7 20 -1 14 0 12 3 12 12 17 -8 16 12 26 -2 18 11 12 17 12 9 22 9 16 5 10 3 14 6 7 2 6 6 19 5 12 9 10 8 17 -3 9 3 13 10 8 2 8 5 21 10 12 1 12 2 27 6 10 6 28 3 15 7 16 3 13 9 24 12 11 11 15 4 19 8 10 -8 17 -10 6 -4 17 -6 16 -1 9 1 11 2 13 -3 9 4 4 2 6 1 15 -3 10 1 21 2 13 1 23 3 21 -7 31 -4 19 -4 11 1 5 6 12 2 11 4 14 9 8 1 16 1 16 4 8 4 11 1 9 0 4 6 13 8 13 1 12 -4 12 -2 16 2 14 9 16 5 13 -1 9 0 8 7 10 9 23 6 26 7 15 9 13 5 31 2 31 4 22 5 18 13 26 6 31 4 22 2 23 9 19 1 21 10 36 3 22 -2 21 6 15 5 8 2 12 -1 11 7 7 15 13 -5 12 -2 4 11 7 -1 12 0 7 3 4 7 8 3 8 5 21 -6 11 5 6 5 12 11 7 2 18 4 23 -7 34 -5 33 -1 30 -23 22 6 31 -22 32 6 30 5 26 6 33 3 22 1 26 -2 29 4 24 7 34 0 30 7 30 4 21 6 21 4 28 5 22 12 27 -3 16 9 36 2 26 -1 37 -1 25 -2 30 6 28 8 32 2 34 2 30 2 33 4 36 1 33 2 35 0 29 1 30 5 37 1 30 1 27 3 36 -2 27 8 30 1 26 9 32 -1 35 -2 33 3 27 7 28 4 34 3 32 6 27 6 34 3 26 7 18 10 26 8 7 17 29 8 33 -1 35 1 17 -9 32 -1 11 10 20 7 24 1 31 6 20 4 21 10 14 12 25 11 15 12 18 11 32 4 30 4 18 13 23 8 25 6 24 5 17 10 15 9 26 11 25 5 16 2 12 18 27 6 13 5 27 7 26 3 24 5 12 4 24 -1 15 -10 15 -1 9 7 26 -1 15 -1 11 1 18 1 16 3 8 0 14 7 15 1 5 10 9 5 21 -12 23 5 13 1 13 -1 17 7 16 5 14 5 18 7 22 0 20 1 9 9 16 4 19 3 22 6 22 8 24 4 9 11 22 4 19 4 19 4 19 6 11 6 7 5 12 8 16 7 12 1 7 2 6 15 10 0 19 -1 13 4 12 9 13 -3 14 9 21 2 22 5 11 4 18 6 19 4 23 1 12 -5 12 9 31 -2 9 8 31 4 17 4 20 7 28 8 11 0 11 14 25 6 18 -5 13 2 10 3 14 -3 15 -11 7 0 4 1 15 4 5 9 14 3 12 -1 8 10 19 4 8 7 15 11 20 -12 16 6 4 3 15 4 9 -3 7 -4 12 11 7 3 13 6 20 4 20 11 8 7 23 5 23 9 19 5 12 6 31 0 15 4 9 11 23 8 12 11 15 8 11 16 28 4 10 8 22 9 17 13 10 14 12 -2 10 22 21 -1 7 4 28 -13 12 19 15 13 9 17 12 -5 29 1 9 10 11 11 20 14 20 11 19 7 18 4 18 14 21 2 30 -3 21 9 14 11 22 4 9 16 21 7 9 3 12 4 17 5 23 6 13 7 33 0 23 2 23 7 28 3 27 2 11 1 19 6 31 0 14 3 11 -3 14 8 11 7 25 5 11 13 22 -7 16 15 17 11 7 24 28 -6 20 -7 11 8 15 3 23 4 33 2 17 3 21 -9 20 2 25 6 11 19 25 -1 19 13 29 9 28 5 9 2 18 11 21 11 11 14 6 16 10 -1 14 5 28 7 20 14 17 16 22 4 10 2 19 6 11 6 24 9 9 6 18 8 16 15 18 7 13 4 24 5 31 6 11 4 28 -6 17 13 21 5 23 7 10 -4 8 5 28 6 22 -6 19 6 27 0 15 5 18 9 27 3 25 -2 10 10 26 7 16 2 20 2 19 10 26 7 9 3 18 16 9 12 10 17 32 2 16 6 16 10 13 -3 15 14 17 -1 20 5 16 10 27 -3 28 2 19 0 16 0 16 11 15 1 30 2 36 -1 12 9 23 10 11 1 13 10 20 9 23 11 20 14 21 8 20 7 23 7 23 9 30 7 7 4 23 6 12 11 18 13 21 7 11 4 20 10 17 4 17 4 17 3 10 3 22 3 18 7 19 7 28 7 23 6 26 6 15 7 22 6 5 7 24 10 18 2 17 16 17 0 11 -4 26 4 17 6 17 9 26 2 19 -1 16 3 25 -1 20 -1 13 10 29 -2 23 1 28 7 25 8 24 1 23 11 21 2 18 5 8 5 13 5 30 4 17 7 24 5 26 8 19 5 17 -9 16 10 10 4 15 3 16 8 20 14 20 3 12 11 10 4 10 8 13 3 11 3 28 8 25 6 17 14 18 13 10 9 6 6 11 16 25 10 14 12 24 4 20 3 20 10 17 17 20 14 16 9 27 4 11 7 14 -4 13 4 19 2 8 11 14 5 18 8 13 2 11 2 7 7 11 2 12 7 12 8 9 3 28 4 15 5 11 7 14 -4 12 6 24 5 19 5 8 4 15 -6 9 18 13 3 22 4 24 8 16 9 12 3 9 -2 7 3 6 -2 11 -6 9 -2 6 2 3 3 18 5 15 -1 11 0 8 -1 10 7 6 -2 9 -2 8 5 10 1 8 2 6 -1 5 0 15 5 23 5 34 0 15 8 9 3 18 6 18 11 8 2 14 1 9 3 13 -4 25 7 16 4 12 1 7 6 16 1 23 1 14 -3 14 2 29 4 20 10 15 4 13 -3 8 0 26 -3 25 3 12 6 20 2 14 17 11 13 17 4 7 2 15 8 17 11 15 0 10 15 28 5 17 8 15 11 17 15 16 4 18 7 14 8 20 10 37 0 17 6 9 12 27 8 26 0 16 12 25 7 35 -2 22 12 30 1 27 10 26 0 29 1 19 6 24 11 28 4 29 7 14 8 16 12 24 5 15 5 25 -5 19 6 14 5 10 6 16 0 17 8 23 10 22 9 17 8 10 6 16 15 25 -2 7 10 14 5 12 9 23 3 16 2 16 1 25 8 10 13 21 -5 12 11 19 3 19 7 26 -3 31 4 26 4 27 2 19 11 22 7 22 10 21 11 29 6 14 8 15 3 31 3 22 1 19 5 33 -24 25 7 19 12 23 5 24 1 16 10 30 4 29 4 23 4 30 4 16 12 23 10 25 6 19 9 28 4 20 -4 21 12 26 2 27 -1 23 0 9 2 12 4 18 9 27 2 11 -5 8 4 11 7 25 1 11 -1 11 1 15 5 22 2 14 9 13 2 9 2 10 -1 13 3 15 3 13 10 19 10 27 7 21 5 35 -2 28 -2 7 7 15 5 18 -2 8 3 28 1 12 9 17 8 25 2 10 -2 17 6 9 5 15 4 30 0 22 -1 17 0 25 1 22 -3 26 4 17 1 16 4 27 8 14 9 24 -1 17 10 25 9 36 2 18 5 27 2 17 8 13 11 22 3 24 7 11 6 25 4 17 13 23 1 16 6 11 11 11 7 23 8 22 11 18 15 31 2 27 6 16 12 31 3 22 15 28 8 23 8 29 1 22 8 30 4 24 5 29 -20 27 6 28 6 24 12 10 8 10 11 9 6 18 9 19 3 12 13 10 13 14 7 6 15 21 9 14 4 12 9 14 14 21 10 6 6 17 9 11 11 12 10 12 6 11 8 18 9 16 10 27 8 21 6 20 9 30 1 23 7 18 10 31 6 15 10 9 6 22 12 21 1 13 14 26 6 16 10 26 6 29 5 24 10 18 11 21 0 21 0 25 7 9 2 10 1 15 1 10 -1 17 -5 5 8 10 10 12 3 6 1 10 6 11 5 7 3 6 9 7 0 8 0 10 -4 15 -2 7 0 7 8 8 0 10 3 7 0 9 -2 9 1 4 6 3 6 12 -7 5 6 4 6 7 -5 3 6 10 -5 8 -7 14 -13 10 -2 9 3 9 5 8 11 16 4 17 16 11 5 8 6 23 9 10 6 15 -10 16 -3 19 2 8 9 18 3 18 14 15 -2 18 10 10 20 18 -4 12 6 10 0 23 13 19 1 18 12 10 12 26 2 13 -2 17 2 18 11 15 5 10 14 17 7 20 0 18 2 10 -5 12 8 14 6 12 -5 10 12 14 15 13 4 11 6 14 0 16 11 19 7 16 14 10 4 6 -2 5 1 3 3 4 -4 12 -8 6 -1 28 4 24 1 24 12 23 0 23 -1 25 5 30 -11 30 -3 34 -3 34 0 33 3 24 4 27 -12 25 1 16 6 31 -4 25 -5 22 4 15 2 19 -1 27 6 17 -5 24 -3 31 -14 37 -9 11 -1 7 -3 16 4 16 3 11 -4 13 8 10 10 23 1 10 7 11 -5 13 -1 11 2 15 -1 23 3 18 -13 25 -2 16 9 14 -1 6 0 14 -1 14 9 14 -4 19 -1 11 -4 19 0 7 2 2 0 13 4 8 6 11 2 5 0 6 0 8 1 12 -2 10 2 13 8 16 13 15 0 18 3 17 4 11 12 15 4 12 2 16 14 14 5 15 8 17 6 16 4 15 11 13 7 11 6 12 5 15 2 13 6 7 5 6 3 14 1 12 2 16 4 16 -5 6 -1 14 -4 8 5 14 6 16 -4 13 -4 6 5 9 1 12 5 15 5 18 8 14 2 13 0 12 5 15 10 14 13 27 4 9 9 12 3 12 2 8 1 8 0 7 18 10 10 12 4 7 5 6 13 11 15 12 13 17 4 9 6 8 16 15 13 9 7 11 4 9 4 6 -2 13 -3 4 2 7 2 9 4 5 0 6 5 8 -1 6 0 16 6 9 1 22 10 19 4 18 -1 18 -14 13 5 10 -1 13 -3 19 6 25 0 19 -10 13 4 8 3 13 -8 17 2 26 -6 18 2 21 1 10 1 17 7 10 0 18 -3 9 6 13 1 11 -4 15 15 11 2 17 5 16 10 19 11 22 9 13 16 8 19 9 14 23 10 18 14 14 7 12 5 15 21 17 11 21 11 13 6 8 12 17 16 18 18 17 11 15 11 7 19 17 16 19 4 6 16 15 16 14 5 14 11 21 5 11 17 6 11 20 10 25 6 12 1 13 -1 15 10 19 4 8 6 9 20 26 7 24 6 16 10 6 7 7 3 24 7 10 3 9 13 13 7 19 9 17 11 21 11 18 6 13 0 4 6 20 11 14 12 24 1 20 10 14 4 27 6 31 5 25 8 15 11 16 -1 7 0 17 9 22 0 12 -6 8 1 9 5 9 5 8 7 8 5 8 12 20 2 9 0 4 4 5 1 8 8 6 2 12 -1 7 6 6 8 17 9 11 5 3 9 13 -9 22 1 16 4 10 4 10 1 10 -2 8 11 13 5 10 2 14 7 23 9 14 2 13 9 11 13 4 9 11 0 15 2 18 7 7 -1 4 12 16 6 17 8 9 8 7 3 12 -1 12 -4 13 1 14 3 8 -2 10 -10 16 -5 6 1 9 -3 5 1 3 7 7 -2 6 2 8 -2 8 -1 4 2 6 9 6 -6 15 -7 16 9 7 -2 8 -1 4 8 7 3 22 3 15 4 11 -1 13 -7 7 2 14 -8 11 5 17 7 11 -3 14 1 9 8 17 2 19 6 24 -5 17 -13 19 -10 15 -1 32 1 21 3 10 4 25 -12 13 2 18 3 20 5 16 1 13 -2 28 -5 15 3 6 5 15 -9 11 -8 13 -2 6 1 10 6 6 3 13 1 13 -2 13 6 10 -1 5 11 14 4 10 -3 15 3 11 4 15 -2 19 -2 10 -5 23 3 24 -1 11 5 19 9 16 10 16 6 14 6 10 9 25 -3 12 5 12 12 18 8 21 9 12 4 14 1 19 5 11 5 17 4 19 -3 12 2 12 1 16 3 22 4 18 3 12 4 20 10 5 5 7 11 11 1 10 8 6 9 7 3 14 4 6 4 6 5 19 -2 8 7 17 5 10 4 13 3 26 6 13 7 19 6 12 2 12 8 17 5 19 9 16 12 12 10 18 1 20 13 11 11 28 4 10 12 11 13 18 8 24 2 9 5 8 3 6 6 8 2 6 11 9 -2 7 6 9 3 9 5 8 -6 5 7 9 1 6 2 13 0 9 -5 9 3 7 4 13 -1 9 7 7 5 5 0 12 -6 6 2 7 2 10 -3 14 1 6 4 11 4 11 1 6 5 8 -1 9 0 11 1 7 7 8 4 18 4 7 2 10 1 11 7 5 2 14 2 14 -1 12 1 11 0 10 -2 10 -1 9 1 5 -1 9 4 6 1 5 1 7 8 8 -2 5 2 7 1 4 3 8 1 9 -1 6 -3 10 0 12 1 3 5 9 -1 8 0 11 -3 8 -4 17 6 8 4 16 1 27 3 21 0 13 9 23 -3 29 -10 29 5 14 8 14 4 31 3 16 10 22 4 28 1 29 9 26 3 14 -3 32 4 22 5 17 10 9 9 26 3 16 11 21 12 15 3 12 -2 11 9 12 -3 7 -2 8 1 10 -2 9 -2 19 4 10 2 8 2 8 -5 11 -2 7 2 18 0 9 -1 11 2 12 0 9 1 8 2 9 1 6 2 20 5 14 -2 17 1 9 12 13 -1 18 0 11 4 10 6 12 2 10 8 10 2 16 14 12 2 14 16 28 5 12 15 11 -1 10 6 12 9 13 7 10 16 18 0 17 6 16 4 31 4 16 11 13 6 11 14 7 1 21 3 21 4 9 7 10 5 14 7 12 11 12 0 23 4 23 1 25 4 12 4 22 0 21 3 11 11 9 -4 27 4 15 7 27 4 12 7 13 0 25 1 11 -1 20 0 6 14 15 4 12 8 15 -1 3 9 23 -5 8 11 10 10 10 5 7 6 7 11 7 15 8 19 7 12 9 15 15 18 13 6 10 3 10 8 19 6 5 16 13 4 7 5 8 12 6 6 9 11 8 13 16 13 8 10 17 8 9 8 11 8 10 3 9 8 10 16 11 17 27 2 14 3 9 19 8 19 9 9 8 11 6 14 9 15 8 5 12 9 17 -9 12 5 13 6 17 -5 11 -2 11 -4 8 1 10 7 7 -1 13 -3 11 -1 7 2 7 5 6 7 8 -1 14 2 14 2 15 -3 13 0 16 1 36 -2 28 3 24 2 29 2 21 5 26 1 19 -18 21 9 33 6 29 6 22 -19 23 6 31 -1 22 3 18 9 24 6 14 2 31 1 13 8 36 1 19 5 36 -5 29 -4 29 -22 23 1 10 -3 9 -1 1 2 10 -3 6 0 6 3 8 4 8 4 3 3 9 0 6 3 5 1 4 6 10 -2 13 13 14 4 15 -3 13 14 13 14 10 3 17 5 9 7 16 4 13 17 14 4 14 3 16 13 10 0 16 1 19 5 12 11 12 8 13 10 10 13 14 3 16 12 18 5 14 -6 15 1 10 4 15 13 22 5 6 10 21 1 21 -2 11 9 13 8 15 -2 13 8 15 9 14 3 16 9 16 3 12 4 11 14 11 7 18 11 15 7 13 -5 12 2 7 0 8 0 11 6 14 -1 8 15 9 -1 8 -1 7 12 10 4 5 3 17 0 24 5 33 4 17 5 17 4 23 6 21 13 10 12 28 8 23 5 13 8 16 3 20 5 24 4 20 10 21 9 16 4 14 8 25 10 23 5 13 9 27 2 18 2 16 4 31 2 29 4 21 6 26 2 12 9 8 4 17 8 7 5 26 1 10 5 9 2 14 -1 8 8 14 2 8 2 7 3 12 1 9 8 18 3 15 10 13 4 17 12 13 -7 16 10 15 11 12 9 13 16 9 15 26 9 23 12 16 9 16 6 24 4 24 4 10 10 18 12 17 2 22 7 19 6 27 1 24 2 17 6 17 4 4 8 9 3 10 0 20 9 10 8 30 2 32 0 7 5 21 3 13 7 24 2 15 -1 10 -2 8 -3 16 1 9 4 33 3 22 6 10 9 20 1 12 3 15 11 16 -10 23 0 21 11 10 3 16 4 23 8 11 3 8 11 19 7 26 1 13 -3 30 -4 10 14 18 2 29 1 14 2 16 12 29 5 16 8 16 1 12 6 14 9 22 12 15 9 30 0 37 2 32 1 25 9 26 8 24 6 22 10 32 -1 32 -3 30 8 27 9 31 1 24 2 25 1 17 -4 25 5 20 6 12 15 23 5 13 4 18 5 14 14 11 15 14 8 20 6 18 10 15 2 12 6 12 -4 18 10 16 8 13 3 6 4 19 15 16 10 26 10 14 7 15 16 24 5 20 4 10 6 16 4 19 8 21 5 16 4 6 12 15 10 24 9 23 10 2 4 15 0 11 9 13 10 14 3 11 6 17 6 17 11 21 4 16 8 25 10 21 1 16 0 22 5 19 7 11 10 18 -2 17 6 14 9 23 3 20 8 23 -16 12 16 3 3 7 9 8 4 23 12 13 6 22 4 15 -1 13 5 6 25 16 5 9 5 10 5 10 0 10 -3 9 -2 12 0 17 -1 18 -1 8 2 18 -5 15 -2 10 -1 10 -4 9 11 14 5 16 5 20 2 8 5 7 2 12 4 20 1 10 9 13 5 5 -1 11 -5 13 8 25 2 13 2 14 10 15 0 9 2 5 6 12 7 9 8 19 -2 15 0 9 0 8 4 3 9 10 4 12 2 12 4 12 1 6 7 19 4 7 16 13 9 5 11 6 4 11 0 24 2 11 14 13 0 9 8 32 0 15 11 8 1 6 12 22 1 11 -3 17 9 19 -6 10 2 5 6 13 -3 24 -6 14 9 17 5 12 5 19 7 9 -3 11 3 6 -1 26 1 7 4 14 5 9 9 19 11 17 8 12 -5 20 9 10 3 8 2 5 8 8 7 13 4 10 4 8 0 5 7 10 17 7 7 14 4 8 1 9 1 11 5 20 14 16 8 21 8 11 10 19 -9 17 7 27 -3 22 4 25 6 24 8 16 10 21 2 28 3 17 0 19 3 21 13 21 12 18 8 25 8 27 3 18 9 24 3 22 1 19 0 28 6 34 3 25 3 20 9 22 4 28 7 20 13 25 7 26 -8 27 0 20 3 11 9 17 -3 13 4 12 1 10 12 16 0 15 5 10 1 15 9 12 1 13 -1 17 -5 22 2 9 1 7 3 17 -1 18 5 10 -1 18 5 20 3 6 7 14 9 10 4 21 3 8 -1 15 -5 13 1 13 -3 17 -1 13 -4 15 0 9 8 18 -3 7 -1 19 13 18 9 31 3 17 3 25 2 13 6 16 1 14 9 10 10 14 5 23 10 11 2 18 4 16 11 17 10 13 5 18 12 17 11 17 15 21 5 24 9 24 5 21 7 13 -1 18 9 10 -1 11 -3 10 5 6 -1 7 2 7 4 5 0 14 11 11 -3 11 3 9 3 13 -2 27 7 10 4 9 0 12 -4 12 2 29 1 27 4 22 12 19 10 19 5 28 2 27 4 25 11 20 -2 19 2 16 9 21 8 27 4 29 5 16 16 23 6 30 3 33 2 30 5 28 5 27 -2 27 7 22 8 25 6 16 1 19 -1 14 9 19 4 17 9 14 8 13 6 13 9 17 -1 13 3 21 1 18 10 10 4 17 8 12 12 18 5 17 4 30 3 14 3 27 7 29 -3 15 8 6 0 12 6 14 2 15 -2 10 5 10 4 7 0 13 0 10 10 18 0 15 0 19 5 6 7 9 3 16 0 10 8 8 6 13 1 8 5 13 -5 8 7 9 8 13 16 18 3 22 10 22 1 30 3 13 1 20 8 27 6 23 -8 16 -5 19 11 21 3 14 9 14 -7 10 5 15 0 7 9 18 -13 34 0 14 1 11 6 22 6 20 2 16 6 16 -5 14 2 14 19 11 13 20 9 15 6 10 11 6 3 24 4 18 12 8 4 21 13 12 -2 31 0 24 8 25 4 9 1 16 6 15 13 24 12 27 2 16 8 17 2 12 13 13 1 32 6 8 12 18 10 24 11 21 7 22 8 10 14 15 12 22 10 31 5 23 8 9 4 8 0 18 10 11 16 10 7 9 14 14 13 28 4 20 8 20 3 27 4 17 16 20 6 11 3 28 8 19 8 12 7 19 -3 6 2 5 6 11 -5 7 5 14 6 24 12 10 -10 6 0 10 7 11 7 20 -3 13 -2 17 -1 30 3 11 13 30 1 32 4 30 2 18 0 11 8 20 9 8 25 14 15 18 19 17 14 10 2 21 6 22 5 22 12 16 13 19 -5 33 -1 30 -4 26 6 34 0 10 8 14 11 28 6 12 12 33 2 21 4 14 6 25 6 24 7 24 1 20 7 25 7 25 9 32 2 33 3 13 6 18 -2 28 9 22 9 31 0 16 6 35 3 21 12 32 3 22 12 16 8 10 6 8 12 8 0 6 8 9 10 8 1 7 7 8 4 7 5 5 12 26 1 29 6 31 3 32 -7 28 8 10 13 30 7 18 16 27 4 25 7 16 12 22 6 30 2 22 9 23 11 29 6 30 5 20 6 22 7 19 8 19 13 18 6 10 16 25 7 23 3 27 4 15 7 26 6 20 11 26 8 13 0 23 11 15 4 20 0 26 9 21 12 25 6 19 13 16 16 7 4 17 8 18 4 19 3 25 5 26 4 12 11 16 8 30 6 16 5 28 10 25 12 26 8 26 6 28 4 18 4 33 1 11 11 29 0 14 16 25 1 22 8 31 6 27 4 24 -5 15 4 25 7 23 7 19 1 26 3 29 -1 29 7 18 1 30 5 21 -4 16 12 23 10 31 4 31 3 25 7 21 7 19 8 26 7 18 10 22 4 16 9 19 8 27 2 25 11 19 9 20 6 19 7 20 10 23 4 20 3 18 6 22 10 18 12 21 6 14 14 31 5 31 8 34 3 27 6 26 5 25 2 35 -4 32 -1 26 4 29 8 33 2 32 2 29 6 21 5 32 2 38 -2 34 1 24 5 29 1 10 10 4 3 7 3 6 4 10 17 11 -1 6 10 16 0 10 5 8 4 8 1 15 12 12 12 18 12 7 8 18 8 7 1 9 3 3 1 8 12 23 8 15 10 8 3 13 15 9 2 7 0 4 5 9 0 12 -6 9 4 11 14 8 -1 7 8 8 -1 5 3 4 2 6 -1 6 2 6 4 28 6 9 6 12 1 16 0 5 9 13 2 4 7 6 0 10 1 24 11 11 -5 13 5 11 0 17 -3 14 -1 6 11 13 7 16 13 12 -2 13 3 21 8 13 0 16 9 20 9 14 12 9 2 27 10 18 -6 15 8 9 10 5 13 10 7 12 4 12 2 13 0 10 -6 6 -3 11 6 7 -1 4 1 10 0 8 4 7 6 12 3 23 5 27 5 20 4 17 5 17 1 16 5 18 2 19 7 18 0 16 9 25 4 11 6 20 1 26 -6 12 0 23 0 19 8 20 2 14 11 25 7 28 8 13 6 24 8 23 8 20 12 22 3 18 5 29 4 23 5 18 4 16 6 11 8 13 1 14 6 29 4 4 6 1 5 8 3 5 5 7 1 8 -2 10 -2 12 -5 9 -6 7 -3 7 1 4 5 4 6 4 10 10 2 6 9 7 3 7 1 14 4 26 9 18 9 33 0 14 5 27 6 25 -6 26 7 25 1 22 8 20 9 21 6 22 12 38 0 22 10 21 3 26 6 33 5 27 6 25 2 25 11 19 14 20 12 19 7 7 6 11 7 8 4 12 3 11 9 22 7 6 6 17 10 12 5 11 4 8 5 18 13 13 6 15 -10 17 6 21 8 15 5 22 9 8 -1 26 4 7 3 10 0 14 11 13 13 15 10 13 6 19 14 34 4 21 4 26 11 20 0 24 6 9 17 7 16 14 4 12 8 14 8 23 -2 30 -1 29 3 9 6 5 7 13 15 14 -7 18 3 9 1 12 -5 10 -1 19 -11 30 -1 12 -9 9 -2 23 3 14 -6 16 15 26 4 8 -1 6 8 11 -2 13 8 10 0 12 1 29 0 22 4 16 3 13 -7 18 3 15 6 16 -4 12 1 20 8 9 3 26 -9 10 -2 4 8 7 1 7 0 13 -6 10 -3 8 3 11 -6 9 -4 11 0 10 -3 5 -1 4 2 13 -1 5 2 7 3 7 4 10 -6 4 10 9 -2 8 0 9 4 14 -2 11 4 5 6 15 11 19 6 6 6 7 5 14 6 8 13 11 1 4 9 11 3 12 6 14 3 9 3 6 3 12 1 24 -2 23 -1 13 -1 14 6 22 -3 12 -1 19 -1 7 7 16 6 15 -5 27 -2 16 2 12 -1 8 1 15 5 10 9 2 6 17 -3 19 3 16 -6 14 3 10 2 14 4 8 2 13 -5 9 2 17 11 12 14 30 5 6 4 15 18 7 7 9 3 8 2 11 -3 9 3 8 -1 9 -3 18 6 4 6 14 2 20 2 7 -3 9 1 8 12 21 6 21 10 11 0 16 12 17 2 22 5 16 2 14 2 9 6 25 -1 30 1 24 -7 31 6 26 -6 16 13 27 3 22 -13 22 3 16 3 17 5 29 1 35 -3 31 0 21 -3 16 2 26 -7 26 -4 25 2 32 3 18 12 22 -7 20 7 24 8 30 1 27 4 15 0 27 -1 21 4 16 8 24 9 32 5 13 5 18 14 19 6 8 3 10 9 20 5 12 16 14 12 24 13 15 9 12 8 14 6 15 14 16 1 9 6 15 10 19 7 21 11 11 -3 9 8 18 11 19 8 18 9 29 0 20 6 26 9 19 8 27 6 12 20 19 7 11 6 10 7 6 -2 12 -2 11 5 19 11 21 6 14 4 12 6 15 4 21 0 11 9 7 26 18 -3 12 7 16 5 18 7 26 6 13 4 19 2 27 8 23 0 17 9 16 4 12 7 16 0 23 9 9 8 17 8 21 1 6 15 8 14 19 11 32 5 25 12 29 6 24 10 21 7 32 6 18 8 19 2 30 4 24 11 22 9 15 15 20 8 22 12 17 -1 19 11 11 13 16 9 15 18 23 9 24 5 31 -1 23 4 24 7 19 13 9 20 12 11 24 8 17 -1 16 8 25 7 11 19 11 12 20 15 8 5 15 7 23 10 20 5 16 14 10 14 15 9 21 3 20 9 14 2 11 6 20 8 13 7 25 5 17 9 13 4 12 9 29 3 7 9 9 1 16 -1 13 2 8 2 7 11 17 7 17 9 15 -2 16 3 7 8 8 8 10 3 11 -2 9 8 14 13 9 10 17 7 12 8 15 15 8 2 8 8 13 5 13 4 10 -2 8 -4 9 3 9 0 9 1 5 6 18 12 12 9 9 4 11 4 5 8 9 -4 17 9 23 5 17 4 10 12 7 6 11 5 6 11 11 4 15 16 17 15 23 7 16 6 10 0 12 3 11 6 9 6 18 9 23 9 13 -1 7 7 4 8 13 5 6 3 10 4 13 -2 8 6 10 3 6 7 10 -2 6 10 6 0 18 0 21 -11 8 -2 4 8 11 -2 16 14 24 9 30 2 19 13 27 6 25 4 30 8 20 8 28 8 23 4 24 -2 22 3 28 4 35 1 30 5 27 3 26 3 35 3 21 4 25 9 30 3 18 11 27 6 23 10 24 7 22 6 24 9 17 4 15 5 12 10 13 6 27 4 10 3 18 8 19 2 19 6 13 11 11 3 13 12 17 13 14 15 15 7 22 -3 11 3 22 10 14 6 25 6 23 3 20 12 33 4 25 4 16 12 25 2 24 5 31 1 24 8 37 -1 35 0 33 2 28 6 32 -2 31 1 15 -3 33 3 36 0 30 0 18 7 28 6 32 3 28 7 32 3 30 1 34 4 33 -1 14 12 32 -8 22 10 21 3 6 2 12 13 18 0 14 6 20 4 14 -7 14 6 15 9 14 0 12 -1 13 9 23 2 13 -2 13 1 25 1 17 -4 22 2 13 9 12 11 18 -5 15 -1 26 -14 25 -5 25 2 22 0 20 9 20 -3 18 7 16 -2 14 -1 21 4 21 -5 12 1 29 3 22 0 35 0 23 2 27 3 14 3 31 4 18 3 20 6 12 2 15 5 6 10 15 1 21 2 15 -4 13 -2 7 7 13 3 10 7 11 10 10 -2 12 2 12 -2 16 3 6 5 7 5 11 17 13 15 16 7 18 11 8 13 10 8 11 4 14 -4 14 8 6 7 7 11 11 1 21 7 14 0 10 3 10 1 6 3 8 0 18 14 22 7 15 1 24 -8 9 10 17 -2 17 7 22 6 12 9 17 4 22 8 15 -5 17 3 20 6 22 -2 10 5 6 5 22 6 20 -4 13 5 24 6 27 6 24 9 27 2 17 8 14 6 10 11 27 7 13 0 33 6 5 14 9 3 27 0 7 11 16 15 32 4 15 11 17 17 18 11 16 7 15 8 24 8 16 15 9 3 21 8 8 7 12 5 18 1 33 -3 12 11 12 3 20 12 10 8 27 4 21 10 12 12 17 10 13 5 14 0 8 5 18 11 17 11 14 15 22 6 13 4 9 18 14 2 11 14 17 6 24 7 15 11 21 5 11 10 15 7 16 0 19 3 16 3 13 9 15 7 24 6 16 9 19 12 15 4 14 5 15 3 15 8 10 14 16 2 7 9 13 5 16 14 20 4 16 15 15 16 21 7 18 3 11 0 14 -5 20 -1 20 -8 9 1 15 3 11 1 16 -4 21 -14 17 -1 13 5 19 5 16 -3 19 -2 30 0 23 -8 15 -6 20 -2 21 -2 25 -10 15 3 9 1 11 3 10 5 12 9 12 0 16 1 9 1 14 -1 9 -3 3 1 7 9 17 7 8 6 10 -2 10 7 14 1 13 -3 14 -6 11 8 10 3 14 1 10 3 13 10 14 11 10 8 11 6 12 -1 13 3 9 -3 7 -1 4 -1 12 -9 6 -1 13 -8 6 4 13 -6 6 2 8 1 2 1 9 -5 7 -1 5 4 4 5 8 -2 10 -4 13 -7 9 -5 10 4 8 4 5 6 11 -5 10 3 7 1 9 0 12 -3 6 4 8 1 8 3 7 4 8 2 8 -1 8 0 10 -5 6 1 8 1 7 5 4 4 7 -3 4 0 5 3 6 -1 11 -3 10 -2 2 4 5 0 8 -1 13 -1 8 -7 5 0 8 0 4 4 6 2 4 6 9 -1 8 3 7 0 10 0 12 -3 13 1 9 -1 10 1 9 6 5 3 14 -1 9 1 18 -2 18 -1 12 -3 12 -3 8 7 12 7 12 -1 12 6 7 7 10 5 7 9 8 2 7 0 7 2 15 -3 11 -1 9 2 9 -2 9 -2 11 -3 11 5 6 12 7 10 13 -2 9 2 14 -9 8 -3 11 6 7 2 10 2 10 -2 6 -1 5 2 9 -5 12 5 8 0 7 4 6 1 7 -2 12 3 11 8 9 5 9 1 7 -1 8 -1 4 1 6 2 5 4 10 1 12 -1 11 -1 10 4 16 4 11 -4 5 0 6 5 6 1 11 -1 11 7 7 2 12 -5 9 -2 9 2 10 -3 11 11 13 -1 17 5 14 -4 4 5 8 0 11 -3 4 1 4 4 26 5 8 -5 5 5 6 3 7 3 9 4 5 0 8 3 11 5 7 -2 21 3 10 0 14 1 7 2 5 3 11 -2 9 3 12 1 12 -4 5 3 13 -4 14 3 19 -1 6 -1 5 -1 12 1 7 1 6 2 31 4 33 4 20 5 30 2 32 1 29 2 29 6 13 7 31 -2 22 5 31 6 37 1 32 1 28 7 37 0 29 5 32 2 31 0 28 -2 29 3 22 11 35 -2 29 4 33 -1 31 3 31 -6 28 4 24 2 30 2 36 -2 32 0 31 6 16 5 13 5 11 -2 14 -1 10 1 13 7 8 9 15 9 5 14 18 3 8 6 6 0 7 15 17 1 20 6 10 6 9 6 11 1 20 -3 7 -1 13 8 11 1 12 5 16 3 12 12 run; data sims; merge sims class; run; proc mixed data=sims; class class; model gain = pretot / solution; random intercept pretot / subject=class type=un; run; /*---------------*/ /*---Chapter 8---*/ /*---------------*/ /*---Data Set 8.2---*/ data dial; input sub qb tmp ufr index; tmp = tmp/100; ufr = ufr/100; datalines; 1 200 24.0 64.5 1 1 200 50.5 2011.5 2 1 200 99.5 3846.0 3 1 200 148.5 4498.5 4 1 200 202.0 5176.5 5 1 200 249.5 4657.5 6 1 200 297.0 4081.5 7 2 200 24.0 372.0 1 2 200 54.0 1888.5 2 2 200 99.5 3469.5 3 2 200 147.5 4030.5 4 2 200 200.0 4447.5 5 2 200 250.0 4243.5 6 2 200 301.0 4465.5 7 3 200 24.5 298.5 1 3 200 48.0 1770.0 2 3 200 101.0 3529.5 3 3 200 150.5 4195.5 4 3 200 200.0 4761.0 5 3 200 251.5 4473.0 6 3 200 297.0 4603.5 7 4 200 25.5 393.0 1 4 200 49.5 1983.0 2 4 200 99.5 4042.5 3 4 200 148.0 5226.0 4 4 200 199.5 4939.5 5 4 200 249.0 4597.5 6 4 200 303.0 4191.0 7 5 200 25.5 321.0 1 5 200 51.5 1770.0 2 5 200 100.0 3249.0 3 5 200 150.5 4233.0 4 5 200 202.0 4573.5 5 5 200 249.0 4785.0 6 5 200 301.0 4804.5 7 6 200 26.0 366.0 1 6 200 50.0 1695.0 2 6 200 102.0 3609.0 3 6 200 149.0 4263.0 4 6 200 199.0 4647.0 5 6 200 248.0 4627.5 6 6 200 299.5 4398.0 7 7 200 30.5 982.5 1 7 200 50.5 2163.0 2 7 200 98.0 4227.0 3 7 200 150.5 5028.0 4 7 200 200.5 4551.0 5 7 200 250.5 4425.0 6 7 200 299.0 4230.0 7 8 200 30.5 948.0 1 8 200 50.5 2175.0 2 8 200 99.5 3723.0 3 8 200 150.0 4443.0 4 8 200 199.0 4216.5 5 8 200 248.0 4306.5 6 8 200 300.0 3661.5 7 9 200 25.0 156.0 1 9 200 49.5 1665.0 2 9 200 100.0 3453.0 3 9 200 150.0 4381.5 4 9 200 196.5 4849.5 5 9 200 248.5 4752.0 6 9 200 298.0 4164.0 7 10 200 23.5 123.0 1 10 200 50.5 1537.5 2 10 200 102.0 3283.5 3 10 200 147.5 3783.0 4 10 200 197.0 4059.0 5 10 200 248.0 3255.0 6 10 200 300.0 3430.5 7 11 300 25.5 388.5 1 11 300 50.0 1915.5 2 11 300 98.0 3765.0 3 11 300 149.0 4789.5 4 11 300 201.5 5449.5 5 11 300 251.0 5317.5 6 11 300 298.0 5935.5 7 12 300 28.0 571.5 1 12 300 50.5 2050.5 2 12 300 100.0 3940.5 3 12 300 149.0 5010.0 4 12 300 200.0 5515.5 5 12 300 250.5 6118.5 6 12 300 302.0 5071.5 7 13 300 35.5 1041.0 1 13 300 48.0 1932.0 2 13 300 102.5 4377.0 3 13 300 150.0 5122.5 4 13 300 199.0 5809.5 5 13 300 250.0 5409.0 6 13 300 300.5 6201.0 7 14 300 23.5 360.0 1 14 300 48.0 2049.0 2 14 300 101.0 4188.0 3 14 300 149.0 4999.5 4 14 300 199.0 5767.5 5 14 300 248.0 6247.5 6 14 300 300.5 6214.5 7 15 300 26.0 189.0 1 15 300 51.5 1851.0 2 15 300 97.0 3721.5 3 15 300 150.5 5235.0 4 15 300 199.0 6091.5 5 15 300 250.0 6298.5 6 15 300 299.5 6477.0 7 16 300 23.5 117.0 1 16 300 48.5 1768.5 2 16 300 102.5 3970.5 3 16 300 151.5 5268.0 4 16 300 199.0 6180.0 5 16 300 251.0 6148.5 6 16 300 302.0 6142.5 7 17 300 28.5 150.0 1 17 300 52.0 1540.5 2 17 300 100.5 3252.0 3 17 300 150.0 4243.5 4 17 300 198.5 4857.0 5 17 300 249.0 5368.5 6 17 300 299.5 5365.5 7 18 300 29.5 642.0 1 18 300 51.5 2025.0 2 18 300 101.0 4305.0 3 18 300 148.0 5811.0 4 18 300 200.0 6199.5 5 18 300 248.0 6091.5 6 18 300 300.5 6360.0 7 19 300 29.0 405.0 1 19 300 49.5 1659.0 2 19 300 101.5 4051.5 3 19 300 152.0 5284.5 4 19 300 202.0 6043.5 5 19 300 250.0 6483.0 6 19 300 297.5 6382.5 7 20 300 40.0 1093.5 1 20 300 47.0 1347.0 2 20 300 101.0 3535.5 3 20 300 151.5 4534.5 4 20 300 198.0 4944.0 5 20 300 251.0 5362.5 6 20 300 300.0 5643.0 7 21 200 25.0 . 1 21 200 50.0 . 2 21 200 100.0 . 3 21 200 150.0 . 4 21 200 200.0 . 5 21 200 250.0 . 6 21 200 300.0 . 7 22 300 25.0 . 1 22 300 50.0 . 2 22 300 100.0 . 3 22 300 150.0 . 4 22 300 200.0 . 5 22 300 250.0 . 6 22 300 300.0 . 7 ; /*---produces Output 8.1 on pages 270-272---*/ proc mixed data=dial; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp; repeated / type=un subject=sub r rcorr; run; /*---page 274---*/ proc mixed data=dial; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp; repeated / type=arh(1) subject=sub; run; proc mixed data=dial ic; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp; random int tmp / subject=sub type=un; run; proc mixed data=dial ic; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp; random int tmp tmp*tmp / subject=sub type=un; run; /*---page 275---*/ data ii; input parm row col1-col7; datalines; 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 4 1 1 1 1 1 1 1 1 5 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 2 2 0 1 1 1 1 1 1 2 3 0 1 1 1 1 1 1 2 4 0 1 1 1 1 1 1 2 5 0 1 1 1 1 1 1 2 6 0 1 1 1 1 1 1 2 7 0 1 1 1 1 1 1 3 3 0 0 1 1 1 1 1 3 4 0 0 1 1 1 1 1 3 5 0 0 1 1 1 1 1 3 6 0 0 1 1 1 1 1 3 7 0 0 1 1 1 1 1 4 4 0 0 0 1 1 1 1 4 5 0 0 0 1 1 1 1 4 6 0 0 0 1 1 1 1 4 7 0 0 0 1 1 1 1 5 5 0 0 0 0 1 1 1 5 6 0 0 0 0 1 1 1 5 7 0 0 0 0 1 1 1 6 6 0 0 0 0 0 1 1 6 7 0 0 0 0 0 1 1 7 7 0 0 0 0 0 0 1 run; proc mixed data=dial ic; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp; repeated / type=lin(7) ldata=ii sub=sub r rcorr; run; /*---page 276---*/ data models; length type$ 6; input type$ aic_r bic_r m2rll parms; model = _n_; datalines; UN -321.0 -361.2 586.1 28 AR(1) -330.7 -333.6 657.5 2 ARH(1) -314.9 -326.4 613.8 8 CS -349.2 -352.0 694.3 2 CSH -339.1 -350.6 662.2 8 HF -341.7 -353.2 667.5 8 FA(1) -333.8 -353.9 639.6 14 FA1(1) -343.8 -355.3 671.6 8 RC -339.1 -344.8 670.1 4 RCQ -329.9 -340.0 645.8 7 I-I -317.2 -327.3 620.4 7 run; /*---page 279 of SAS System for Mixed Models ---*/ proc mixed data=dial; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp / s; random int tmp tmp*tmp / type=un sub=sub; make 'solutionf' out=sf; run; data cp; input est; datalines; 2.24606822 -3.73117853 24.08025511 0.68705846 -6.82952740 2.17225966 1 0.0663507 run; /*---the fifth run of this program produces Output 8.2 on pages 281-283---*/ proc mixed data=dial; class qb sub; model ufr = tmp|tmp|tmp|tmp qb|tmp|tmp|tmp|tmp / s; random int tmp tmp*tmp / type=un sub=sub; repeated / local=pom(sf); parms / pdata=cp; make 'solutionf' out=sf1; make 'covparms' out=cp1; run; proc compare brief data=sf compare=sf1; var est; run; data sf; set sf1; run; data cp; set cp1; run; /*---Data Set 8.3---*/ data grip; input subject x y1 y2 y3 trt gender$; array yy{3} y1-y3; do time = 1 to 3; t = time; y = yy{time}; output; end; drop y1-y3; datalines; 26 175 161 210 230 1 M 27 165 215 245 265 1 M 29 175 134 215 139 1 M 34 178 165 140 175 1 M 35 220 220 189 158 1 M 38 90 146 140 130 1 M 42 300 300 300 300 1 M 44 238 278 170 158 1 M 54 200 230 220 240 1 M 57 130 155 170 125 1 M 74 215 230 243 245 1 M 76 207 220 . . 1 M 79 225 220 250 235 1 M 1 120 130 150 120 2 M 25 300 300 300 300 2 M 28 179 232 285 . 2 M 31 209 260 200 125 2 M 36 200 200 200 232 2 M 39 300 300 300 300 2 M 41 200 245 290 280 2 M 43 172 170 170 146 2 M 45 158 140 152 150 2 M 47 150 220 168 139 2 M 53 135 155 215 170 2 M 56 75 170 220 240 2 M 58 150 200 185 163 2 M 61 155 101 93 120 2 M 73 190 240 210 173 2 M 75 265 275 255 270 2 M 2 80 80 86 80 1 F 4 64 80 80 70 1 F 5 40 60 . . 1 F 8 40 50 30 40 1 F 9 70 90 110 90 1 F 15 70 80 95 110 1 F 18 70 80 86 . 1 F 19 70 60 70 80 1 F 21 50 80 90 90 1 F 24 40 60 60 65 1 F 40 140 156 140 150 1 F 46 110 82 98 110 1 F 48 180 165 150 160 1 F 50 155 150 170 185 1 F 52 55 105 70 88 1 F 59 95 90 90 116 1 F 63 90 135 95 . 1 F 64 145 140 164 . 1 F 70 34 51 87 . 1 F 3 60 80 60 60 2 F 6 50 70 70 70 2 F 7 80 75 90 90 2 F 10 80 100 80 90 2 F 13 80 60 65 70 2 F 17 58 50 80 80 2 F 20 60 60 80 60 2 F 22 80 90 120 130 2 F 23 60 90 94 100 2 F 30 75 131 95 105 2 F 37 150 108 160 160 2 F 49 55 60 65 55 2 F 51 130 130 160 125 2 F 55 115 95 105 110 2 F 62 135 120 144 135 2 F 65 60 85 85 . 2 F 67 40 45 76 75 2 F 71 104 107 . . 2 F 72 60 60 55 58 2 F ; /*---produces Output 8.3 on pages 286-288---*/ proc mixed data=grip; class subject trt gender time; model y = trt|gender|time x time*x gender*x trt*x; repeated / type=un subject=subject r rcorr; run; /*---produces Output 8.4 on pages 289-291---*/ proc mixed data=grip; class subject trt gender time; model y = trt|gender|time x time*x gender*x trt*x; repeated / type=un sub=subject group=gender r=1,2 rcorr=1,2; run; /*---page 292---*/ proc mixed data=grip; class subject trt gender time; model y = trt|gender|time x time*x gender*x trt*x / p; make 'predicted' out=p noprint; id time subject gender; run; /*---page 293---*/ proc mixed data=grip; class subject trt gender time; model y = trt|gender|time x time*x gender*x trt*x; random int t / type=un sub=subject group=gender; run; proc mixed data=grip; class subject trt gender time; model y = trt|gender|time x time*x gender*x trt*x; random int t / type=un sub=subject group=gender; repeated / sub=subject group=gender; run; /*---Data Set 8.4.1---*/ data preetch; input expt wafer mask viscos spin baketemp baketime aperture expos develop etch y1-y5; y = y1; loc = 'top'; output; y = y2; loc = 'cen'; output; y = y3; loc = 'bot'; output; y = y4; loc = 'lef'; output; y = y5; loc = 'rig'; output; drop y1-y5; datalines; 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2.43 2.52 2.63 2.52 2.5 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 2.36 2.5 2.62 2.43 2.49 2 1 -1 -1 0 -1 0 0 0 0 0 2.76 2.66 2.74 2.6 2.53 2 2 -1 -1 0 -1 0 0 0 0 0 2.66 2.73 2.95 2.57 2.64 3 1 -1 -1 1 -1 1 1 1 1 1 2.82 2.71 2.78 2.55 2.36 3 2 -1 -1 1 -1 1 1 1 1 1 2.76 2.67 2.9 2.62 2.43 4 1 -1 1 -1 -1 -1 0 0 1 1 2.02 2.06 2.21 1.98 2.13 4 2 -1 1 -1 -1 -1 0 0 1 1 1.85 1.66 2.07 1.81 1.83 5 1 -1 1 0 -1 0 1 1 -1 -1 1.87 1.78 2.07 1.8 1.83 6 1 -1 1 1 -1 1 -1 -1 0 0 2.51 2.56 2.55 2.45 2.53 6 2 -1 1 1 -1 1 -1 -1 0 0 2.68 2.6 2.85 2.55 2.56 7 1 -1 -1 -1 1 0 -1 1 0 1 1.99 1.99 2.11 1.99 2.0 7 2 -1 -1 -1 1 0 -1 1 0 1 1.96 2.2 2.04 2.01 2.03 8 1 -1 -1 0 1 1 0 -1 1 -1 3.15 3.44 3.67 3.09 3.06 8 2 -1 -1 0 1 1 0 -1 1 -1 3.27 3.29 3.49 3.02 3.19 9 1 -1 -1 1 1 -1 1 0 -1 0 3.0 2.91 3.07 2.66 2.74 9 2 -1 -1 1 1 -1 1 0 -1 0 2.73 2.79 3.0 2.69 2.7 10 1 1 -1 -1 -1 1 1 0 0 -1 2.69 2.5 2.51 2.46 2.4 10 2 1 -1 -1 -1 1 1 0 0 -1 2.75 2.73 2.75 2.78 3.03 11 1 1 -1 0 -1 -1 -1 1 1 0 3.2 3.19 3.32 3.2 3.15 11 2 1 -1 0 -1 -1 -1 1 1 0 3.07 3.14 3.14 3.13 3.12 12 1 1 -1 1 -1 0 0 -1 -1 1 3.21 3.32 3.33 3.23 3.10 12 2 1 -1 1 -1 0 0 -1 -1 1 3.48 3.44 3.49 3.25 3.38 13 1 1 1 -1 -1 0 1 -1 1 0 2.6 2.56 2.62 2.55 2.56 13 2 1 1 -1 -1 0 1 -1 1 0 2.53 2.49 2.79 2.5 2.56 14 1 1 1 0 -1 1 -1 0 -1 1 2.18 2.2 2.45 2.22 2.32 14 2 1 1 0 -1 1 -1 0 -1 1 2.33 2.2 2.41 2.37 2.38 15 1 1 1 1 -1 -1 0 1 0 -1 2.45 2.50 2.51 2.43 2.43 16 1 1 -1 -1 1 1 0 1 -1 0 2.67 2.53 2.72 2.7 2.6 16 2 1 -1 -1 1 1 0 1 -1 0 2.76 2.67 2.73 2.69 2.6 17 1 1 -1 0 1 -1 1 -1 0 1 3.31 3.3 3.44 3.12 3.14 17 2 1 -1 0 1 -1 1 -1 0 1 3.12 2.97 3.18 3.03 2.95 18 1 1 -1 1 1 0 -1 0 1 -1 3.46 3.49 3.5 3.45 3.57 ; /*---produces Output 8.5 on pages 295-298---*/ proc mixed data=preetch; class expt wafer mask viscos spin baketemp baketime aperture expos develop; model y = mask viscos spin baketemp baketime aperture expos develop; repeated / local=exp(mask viscos spin baketemp baketime aperture expos develop); run; /*---produces Output 8.6 on pages 299-301---*/ proc mixed data=preetch; class expt wafer mask viscos spin baketemp baketime aperture expos develop; model y = mask viscos spin baketemp baketime aperture expos develop / ddfm=bw; random int / sub=wafer(expt); repeated / local=exp(mask viscos spin baketemp baketime aperture expos develop) sub=wafer(expt); run; /*---------------*/ /*---Chapter 9---*/ /*---------------*/ /*---Data Set 9.5---*/ data spatvar; input rep bloc row col yield; datalines; 1 4 1 1 10.5411 1 4 1 2 8.5806 1 2 1 3 11.2790 1 2 1 4 12.4344 1 4 2 1 10.3416 1 4 2 2 11.3103 1 2 2 3 9.0282 1 2 2 4 9.7985 1 3 3 1 10.4939 1 3 3 2 11.2576 1 1 3 3 7.3720 1 1 3 4 6.0833 1 3 4 1 9.8869 1 3 4 2 8.2849 1 1 4 3 7.2836 1 1 4 4 8.0018 2 7 5 1 10.3349 2 7 5 2 9.9135 2 6 5 3 8.1662 2 6 5 4 10.7679 2 7 6 1 12.1580 2 7 6 2 11.0230 2 6 6 3 9.2912 2 6 6 4 9.1392 2 5 7 1 13.1097 2 5 7 2 10.0121 2 8 7 3 8.2482 2 8 7 4 7.3975 2 5 8 1 11.0226 2 5 8 2 10.7690 2 8 8 3 6.2206 2 8 8 4 6.5696 3 12 1 5 11.1944 3 12 1 6 7.9737 3 11 1 7 5.8400 3 11 1 8 6.9580 3 12 2 5 10.2561 3 12 2 6 9.8180 3 11 2 7 10.3009 3 11 2 8 7.4719 3 9 3 5 10.1148 3 9 3 6 9.6252 3 10 3 7 8.7800 3 10 3 8 11.2786 3 9 4 5 7.9548 3 9 4 6 6.1100 3 10 4 7 8.6507 3 10 4 8 9.2237 4 16 5 5 10.3129 4 16 5 6 7.3161 4 13 5 7 8.6394 4 13 5 8 7.8669 4 16 6 5 9.0250 4 16 6 6 7.2483 4 13 6 7 10.0104 4 13 6 8 10.0473 4 14 7 5 7.0507 4 14 7 6 11.1225 4 15 7 7 12.0253 4 15 7 8 10.4298 4 14 8 5 7.3220 4 14 8 6 10.5104 4 15 8 7 12.6808 4 15 8 8 10.4482 ; /*---produces Output 9.1 on page 310---*/ proc mixed scoring=5; model yield= ; parms (0 to 10 by 2.5) (1 to 10 by 3); repeated / subject=intercept type=sp(sph)(row col); run; /*---produces Output 9.2 on pages 312-313---*/ proc mixed scoring=5; model yield= ; parms (0 to 10 by 2.5) (1 to 10 by 3); repeated / subject=intercept type=sp(exp)(row col); run; /*---produces Output 9.3 on pages 314-315---*/ proc mixed; class rep; model yield= ;