options ls=80; data soo1; input z h12 e12; put ' z = ' z ' h12 = ' h12 ' e12 = ' e12; h1 = sqrt(h12); e1 = sqrt(e12); do i = 1 to 10000; ash = rannor(0); a1=sqrt(z)*ash + sqrt(1-z)*rannor(0); a2=sqrt(z)*ash + sqrt(1-z)*rannor(0); ew1 = rannor(0); ew2 = rannor(0); vart1 = h1*a1 + e1*ew1; vart2 = h1*a2 + e1*ew2; if vart1 >= 0.99 then prcd=ranuni(0); if prcd < .5281 then pcd=1; else pcd=0; if vart1 < 0.99 then pcd=0; if vart1 >= 0.99 then pradd=ranuni(0); if pradd < .3112 then padhd=1; else padhd=0; if vart1 < 0.99 then padhd=0; if vart2 >= 0.99 then prcd=ranuni(0); if prcd < .5281 then ccd=1; else ccd=0; if vart2 < 0.99 then ccd=0; if vart2 >= 0.99 then pradd=ranuni(0); if pradd < .3112 then cadhd=1; else cadhd=0; if vart2 < 0.99 then cadhd=0; if padhd=0 and pcd=0 then padhdcd=0; if padhd=1 and pcd=0 then padhdcd=1; if padhd=1 and pcd=1 then padhdcd=2; if padhd=0 and pcd=1 then padhdcd=3; if cadhd=0 and ccd=0 then cadhdcd=0; if cadhd=1 and ccd=0 then cadhdcd=1; if cadhd=1 and ccd=1 then cadhdcd=2; if cadhd=0 and ccd=1 then cadhdcd=3; if padhd=0 and pcd=0 then paddonly=0; if padhd=1 and pcd=0 then paddonly=1; if cadhd=0 and ccd=0 then caddonly=0; if cadhd=1 and ccd=0 then caddonly=1; if padhd=0 and pcd=0 then pcdonly=0; if padhd=0 and pcd=1 then pcdonly=1; if cadhd=0 and ccd=0 then ccdonly=0; if cadhd=0 and ccd=1 then ccdonly=1; file 'altdzck.dat'; put (padhd pcd cadhd ccd padhdcd cadhdcd paddonly caddonly pcdonly ccdonly) (f18.12); output; end; cards; .5 .7 .3 ; run; data test; infile 'altdzck.dat'; input (padhd pcd cadhd ccd padhdcd cadhdcd paddonly caddonly pcdonly ccdonly) (f18.12); if padhd=0 and pcd=0 and cadhd=0 and ccd=0 then f0000=1; if (padhd=0 and pcd=1 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=0 and ccd=1) then f0100=1; if (padhd=1 and pcd=0 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=1 and ccd=0) then f1000=1; if (padhd=1 and pcd=1 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=1 and ccd=1) then f1100=1; if padhd=0 and pcd=1 and cadhd=0 and ccd=1 then f0101=1; if (padhd=1 and pcd=0 and cadhd=0 and ccd=1) or (padhd=0 and pcd=1 and cadhd=1 and ccd=0) then f1001=1; if (padhd=1 and pcd=1 and cadhd=0 and ccd=1) or (padhd=0 and pcd=1 and cadhd=1 and ccd=1) then f1101=1; if padhd=1 and pcd=0 and cadhd=1 and ccd=0 then f1010=1; if (padhd=1 and pcd=1 and cadhd=1 and ccd=0) or (padhd=1 and pcd=0 and cadhd=1 and ccd=1) then f1110=1; if padhd=1 and pcd=1 and cadhd=1 and ccd=1 then f1111=1; if f0000=1 then freq=1; if f0100=1 then freq=2; if f1000=1 then freq=3; if f1100=1 then freq=4; if f0101=1 then freq=5; if f1001=1 then freq=6; if f1101=1 then freq=7; if f1010=1 then freq=8; if f1110=1 then freq=9; if f1111=1 then freq=10; file 'altdzck2.dat'; put freq; output; run; data dummy; infile 'dummy.dat'; input padhd pcd cadhd ccd padhdcd cadhdcd paddonly caddonly pcdonly ccdonly; if padhd=0 and pcd=0 and cadhd=0 and ccd=0 then f0000=1; if (padhd=0 and pcd=1 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=0 and ccd=1) then f0100=1; if (padhd=1 and pcd=0 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=1 and ccd=0) then f1000=1; if (padhd=1 and pcd=1 and cadhd=0 and ccd=0) or (padhd=0 and pcd=0 and cadhd=1 and ccd=1) then f1100=1; if padhd=0 and pcd=1 and cadhd=0 and ccd=1 then f0101=1; if (padhd=1 and pcd=0 and cadhd=0 and ccd=1) or (padhd=0 and pcd=1 and cadhd=1 and ccd=0) then f1001=1; if (padhd=1 and pcd=1 and cadhd=0 and ccd=1) or (padhd=0 and pcd=1 and cadhd=1 and ccd=1) then f1101=1; if padhd=1 and pcd=0 and cadhd=1 and ccd=0 then f1010=1; if (padhd=1 and pcd=1 and cadhd=1 and ccd=0) or (padhd=1 and pcd=0 and cadhd=1 and ccd=1) then f1110=1; if padhd=1 and pcd=1 and cadhd=1 and ccd=1 then f1111=1; if f0000=1 then freq=1; if f0100=1 then freq=2; if f1000=1 then freq=3; if f1100=1 then freq=4; if f0101=1 then freq=5; if f1001=1 then freq=6; if f1101=1 then freq=7; if f1010=1 then freq=8; if f1110=1 then freq=9; if f1111=1 then freq=10; file 'dummy2.dat'; put freq; output; run; data freq1; infile 'dummy2.dat'; input freq; data freq2; infile 'altdzck2.dat'; input freq; data freq12; set freq1 freq2; libname dir '.'; proc freq; tables freq / out=dir.altdzp nocum nopercent; run; libname dir '.'; filename data 'predz.frq'; data dir.altdzp; set dir.altdzp; file data; put count 9-16; Run; data predz; infile 'predz.frq'; input countp; count=countp-1; file 'predz.dat'; put count; output; run; data altdz; infile 'predz.dat'; input count; run; data _null_; file "../comorbmx/dz.frq"; put '*'; run; filename data "../comorbmx/dz.frq"; data altdz; set altdz; file data mod; put count 1-16; Run;