%macro kf(m);%do j=1 %to &m;data a;x0=&j-1;do i=1 to 100;x1=mod(40692*x0,2147483399);x0=x1;x=x1/2147483399;output;end;proc means noprint;var x;output out=b min=min max=xma range=xr;run;data c;set b;do i =1 to 100;output;end;data d;merge a c;data e;set d;if x ge min and x lt min+xr/5 then n1+1;if x ge min+xr/5 and x lt min+2*xr/5 then n2+1;if x ge min+2*xr/5 and x lt min+3*xr/5 then n3+1;if x ge min+3*xr/5 and x lt min+4*xr/5 then n4+1;if x ge min+4*xr/5 and x lt min+5*xr/5 then n5+1;proc means data=e noprint;var n1-n5;output out=f max=01-05;data g;length pvalue$ 12;set f;chi=sum((01-20)**2/20,(05-20)**2/20,(02-20)**2/20,(03-20)**2/20,(04-20)**2/20);p=1-probchi(chi,4);if p le .001 then pvalue='p<0.001';if p gt .001 and p le 0.01 then pvalue='0.001<p<0.01';if p gt 0.01 and p le 0.05 then pvalue='0.01<p<0.05';if p gt 0.05 and p le 0.1 then pvalue='0.05<p<0.1';if p gt 0.1 and p le .5 then pvalue='0.1<p<0.5';if p gt 0.5 then pvalue='0.5>p>1';proc append base=h force;%end;proc freq;tables p