// Chi-square, df=3, non-central twoway (function y=chi2den(3,x), range(0 4)) /// (function y=nchi2den(3,0.5^2,x), range(0 4)) /// (function y=nchi2den(3,1^2,x), range(0 4)), title("Chisquare, d = 0.5") postfile kwpower test d T dfm dfr using kwpowermcchi.dta, replace quietly forvalues d=0(0.1)1 { noisily display "difference " `d' forvalues i=1/2500 { clear set obs 60 // group size = 20 generate group = mod(_n, 3) forvalues j=1/3{ generate x`j' = rnormal(group*`d', 1)^2 } egen y = rowtotal(x*) anova y group post kwpower (1) (`d') (e(F)) (e(df_m)) (e(df_r)) kwallis y, by(group) post kwpower (2) (`d') (r(chi2_adj)) (r(df)) (.) } } postclose kwpower use kwpowermcchi.dta, clear generate sig = Ftail(dfm, dfr, T)<0.05 if test==1 replace sig = chi2tail(dfm, T)<0.05 if test==2 bysort test: tabulate d sig, row collapse (mean) sig, by(test d) separate sig, by(test) label variable sig1 "Anova" label variable sig2 "Kruskal-Wallis" save kwpowermcchi2table.dta, replace line sig1 sig2 d, title("Chi-square, by MC") ytitle("Power") /// xtitle("group differences")