/* ch 7 one obs per cell -- orthogonal contrasts */ /* normal prob plot */ * weathering experiment; *chapter 7; /* assume the average of 2 readings is our single */ /* cell observation...with D omitted then r=2 */ options ls=72; data wthr; INPUT E A D F Y a1 b1 b2 c1 c2; if e=1 then light='c'; if e=2 then light='a'; if a=1 then intensty='l'; if a=2 then intensty='m'; if a=3 then intensty='h'; if f=1 then fabric='p'; if f=2 then fabric='a'; if f=3 then fabric='n'; code=100*e+10*a+f; letcode=trim(light)||trim(intensty)||trim(fabric); a1a1=a1*a1; b1b1=b1*b1; b2b2=b2*b2; c1c1=c1*c1; c2c2=c2*c2; a1b1=a1*b1*a1*b1; a1b2=a1*b2*a1*b2; a1c1=a1*c1*a1*c1; a1c2=a1*c2*a1*c2; b1c1=c1*b1*c1*b1; b1c2=b1*c2*b1*c2; b2c1=b2*c1*b2*c1; b2c2=b2*c2*b2*c2; a1b1c1=a1*b1*c1*a1*b1*c1; a1b2c1=a1*b2*c1*a1*b2*c1; a1b1c2=a1*b1*c2*a1*b1*c2; a1b2c2=a1*b2*c2*a1*b2*c2; ya1a1=a1*y; yb1b1=b1*y; yb2b2=b2*y; yc1c1=c1*y; yc2c2=c2*y; ya1b1=a1*b1*y; ya1b2=a1*b2*y; ya1c1=a1*c1*y; ya1c2=a1*c2*y; yb1c1=c1*b1*y; yb1c2=b1*c2*y; yb2c1=b2*c1*y; yb2c2=b2*c2*y; ya1b1c1=a1*b1*c1*y; ya1b2c1=a1*b2*c1*y; ya1b1c2=a1*b1*c2*y; ya1b2c2=a1*b2*c2*y; LINES; 1 1 1 1 -43.0 1 -1 1 -1 1 1 1 1 2 -1.7 1 -1 1 0 -2 1 1 1 3 -74.7 1 -1 1 1 1 1 1 2 1 -46.1 1 -1 1 -1 1 1 1 2 2 11.7 1 -1 1 0 -2 1 1 2 3 -86.7 1 -1 1 1 1 1 2 1 1 -45.3 1 0 -2 -1 1 1 2 1 2 -4.2 1 0 -2 0 -2 1 2 1 3 -87.9 1 0 -2 1 1 1 2 2 1 -51.3 1 0 -2 -1 1 1 2 2 2 10.0 1 0 -2 0 -2 1 2 2 3 -97.9 1 0 -2 1 1 1 3 1 1 -53.3 1 1 1 -1 1 1 3 1 2 -5.1 1 1 1 0 -2 1 3 1 3 -98.2 1 1 1 1 1 1 3 2 1 -54.5 1 1 1 -1 1 1 3 2 2 7.5 1 1 1 0 -2 1 3 2 3 -100.0 1 1 1 1 1 2 1 1 1 -48.1 -1 -1 1 -1 1 2 1 1 2 -6.8 -1 -1 1 0 -2 2 1 1 3 -85.0 -1 -1 1 1 1 2 1 2 1 -43.6 -1 -1 1 -1 1 2 1 2 2 -3.3 -1 -1 1 0 -2 2 1 2 3 -91.7 -1 -1 1 1 1 2 2 1 1 -52.3 -1 0 -2 -1 1 2 2 1 2 -4.2 -1 0 -2 0 -2 2 2 1 3 -100.0 -1 0 -2 1 1 2 2 2 1 -53.8 -1 0 -2 -1 1 2 2 2 2 -3.3 -1 0 -2 0 -2 2 2 2 3 -100.0 -1 0 -2 1 1 2 3 1 1 -56.5 -1 1 1 -1 1 2 3 1 2 -5.9 -1 1 1 0 -2 2 3 1 3 -100.0 -1 1 1 1 1 2 3 2 1 -56.4 -1 1 1 -1 1 2 3 2 2 -6.7 -1 1 1 0 -2 2 3 2 3 -100.0 -1 1 1 1 1 ; proc print; var e a f y letcode; proc means noprint sum; var a1a1 a1b1 a1b2 a1c1 a1c2 b1b1 b1c1 b1c2 b2b2 b2c1 b2c2 c1c1 c2c2 a1b1c1 a1b1c2 a1b2c1 a1b2c2 ya1a1 ya1b1 ya1b2 ya1c1 ya1c2 yb1b1 yb1c1 yb1c2 yb2b2 yb2c1 yb2c2 yc1c1 yc2c2 ya1b1c1 ya1b1c2 ya1b2c1 ya1b2c2; output out=intmdest sum= a1a1 a1b1 a1b2 a1c1 a1c2 b1b1 b1c1 b1c2 b2b2 b2c1 b2c2 c1c1 c2c2 a1b1c1 a1b1c2 a1b2c1 a1b2c2 ya1a1 ya1b1 ya1b2 ya1c1 ya1c2 yb1b1 yb1c1 yb1c2 yb2b2 yb2c1 yb2c2 yc1c1 yc2c2 ya1b1c1 ya1b1c2 ya1b2c1 ya1b2c2; data estimats; set intmdest; va1a1=ya1a1/sqrt(a1a1); vb1b1=yb1b1/sqrt(b1b1); vb2b2=yb2b2/sqrt(b2b2); vc1c1=yc1c1/sqrt(c1c1); vc2c2=yc2c2/sqrt(c2c2); va1b1=ya1b1/sqrt(a1b1); va1b2=ya1b2/sqrt(a1b2); va1c1=ya1c1/sqrt(a1c1); va1c2=ya1c2/sqrt(a1c2); vb1c1=yb1c1/sqrt(b1c1); vb1c2=yb1c2/sqrt(b1c2); vb2c1=yb2c1/sqrt(b2c1); vb2c2=yb2c2/sqrt(b2c2); va1b1c1=ya1b1c1/sqrt(a1b1c1); va1b2c1=ya1b2c1/sqrt(a1b2c1); va1b1c2=ya1b1c2/sqrt(a1b1c2); va1b2c2=ya1b2c2/sqrt(a1b2c2); data newest; set estimats; keep va1a1 vb1b1 vb2b2 vc1c1 vc2c2 va1b1 va1b2 va1c1 va1c2 vb1c1 vb1c2 vb2c1 vb2c2 va1b1c1 va1b2c1 va1b1c2 va1b2c2; proc transpose prefix=est out=ests; data ests; set ests; proc rank normal=blom out=plt; var est1; ranks nscore; proc print; proc plot; plot est1*nscore/vpos=19 hpos=50; /* ch 7 3-way anova */ proc glm data=wthr; classes e a f; model y=e a f e*a e*f a*f e*a*f; Means e a f; MEANS e / scheffe CLDIFF ALPHA=0.10; estimate 'cont_vs_alt' e 1 -1/divisor=2; proc sort data=wthr; by e a f; proc means noprint mean ; var y; by e a f; output out=percmean mean=av_y; proc print; var e a f av_y; proc sort; by e a f; proc plot; by e; plot av_y*a=f/vpos=19 hpos=60; /* means only ok with equal ss */ /* ch 7 3-way anova with interaction plots*/ run; quit;