*sizeonewayfixed.sps---------------------------. title "必要サンプル数 一元分散分析(fixed effect)". * effect size index f=. * small f=.10 : medium f=.25: large f=.40 Cohen(1988). preserve. set printback=none. set mxloops=1000000. data list free/name(a6) esize alpha powd groups. begin data small .10 0.05 .80 3 medium .25 0.05 .80 3 large .40 0.05 .80 3 small .10 0.05 .80 2 medium .25 0.05 .80 2 large .40 0.05 .80 2 end data. *initialize values. compute powa=0.0. compute n=0. compute f2=esize**2. compute dfh=groups-1. compute alpha2=alpha. loop if (powa<=powd). compute n=n +100. compute dfe=n-groups. compute lambda=f2*n. compute f_alpha=idf.f(1-alpha2,dfh,dfe). compute powa=1-ncdf.f(f_alpha,dfh,dfe,lambda). end loop. *begin loop for interval halving. compute dir=-1. compute newn=n. compute intv=200. compute powdiff=powa-powd. loop if (powdiff>=.0001). compute intv=intv*.5. compute newn=newn +dir*intv*.5. *compute new power. compute dfe=newn-groups. compute lambda=f2*newn. *compute power . compute f_alpha=idf.f(1-alpha2,dfh,dfe). compute powa=1-ncdf.f(f_alpha,dfh,dfe,lambda). compute powdiff=abs(powa-powd). do if (powa