/*Example 3.6.1 (continued).*/ /*--Srivastava's graphical method, p=2;n=27;*/ filename sriv1 'ch3p31.ext'; goptions hsize=8cm vsize=8cm device=pslepsf gaccess=sasgaedt gsfname=sriv1 gsfmode=replace; libname sriv '/u/mengd/sasuser/ssm'; proc iml; x1={ 59 80 17 11 134 76 50 85 139 175 55 30 115 152 102 67 74 30 3 25 35 70 67 55 31 57 54}; x2={ 40.9 42.0 42.7 306.0 146.5 101.0 21.0 22.7 72.0 73.0 7.7 28.1 305.0 48.8 77.0 23.0 302.0 48.8 30.1 16.2 8.7 152.5 36.4 151.5 25.0 303.0 11.9}; x=x1`||x2`; p=2; n=27; xb=J(1,n,1/n)*x; xxb=J(n,1,1)*J(1,n,1/n)*x; S=(x-xxb)`*(x-xxb)/(n-1); ds=inv(sqrt(diag(s))); R=ds*S*ds; call eigen(D,L,R); create sriv.try var{z1i }; do i= 1 to n; z1i=L[,1]`*ds*x[i,]`; append from z1i; end; create sriv.try1 var{z2i}; do i= 1 to n; z2i=L[,2]`*ds*x[i,]`; append from z2i; end; create sriv.try2 var{xi}; do i= 1 to n; xi=1/probit((i-3/8)/(n+1/4)); append from xi; end; quit; proc iml; sort sriv.try by z1i; sort sriv.try1 by z2i; sort sriv.try2 by xi; use sriv.try; read all into z1i; use sriv.try1; read all into z2i; use sriv.try2; read all into xi; zx=z1i||z2i||xi; create sriv.try3 var{z1i z2i xi} ; append from zx; quit; axis1 minor=none major=(H=1pct N=5 W=1); axis2 minor=none major=(H=1pct N=6 W=1); proc gplot data=sriv.try3; plot z1i*xi/frame haxis=axis1 vaxis=axis2; symbol i=rl v=dot; run; quit; filename sriv1 'ch3p32.ext'; proc gplot data=sriv.try3; plot z2i*xi/frame haxis=axis1 vaxis=axis2; symbol i=rl v=dot; run; quit; goptions hsize=0cm vsize=0cm goutmode=replace;