/**********************************************************************/ data _power_; /* On the following line, enter the true success probabilities */ /* (p1= and p2=), the test's significance level (level=), */ /* and the sample sizes for each group (n1= and n2=). */ p1=.36; p2=.24; level=.05; n1=50; n2=50; /* Compute power */ /* Create macro variables for output labeling */ call symput('p1',trim(left(p1))); call symput('p2',trim(left(p2))); call symput('level',trim(left(level))); diff=p1-p2; call symput('diff',trim(left(diff))); /* Power and beta computation */ ph0=(n1*p1+n2*p2)/(n1+n2); stdh0=sqrt(ph0*(1-ph0)*(1/n1+1/n2)); stdha=sqrt(p1*(1-p1)/n1+p2*(1-p2)/n2); power=1-probnorm(-probit(level/2)*stdh0/stdha-diff/stdha) + probnorm( probit(level/2)*stdh0/stdha-diff/stdha); beta=1-power; run; proc print noobs; var n1 n2 power beta; title "Power for comparing two independent proportions"; title2 "p1-p2=&p1-&p2=&diff; test level=&level"; run; /**********************************************************************/