# effect size w + df
p_chisq.test(100, w=.2, df=3)
# return analysis model
p_chisq.test(100, w=.2, df=3, return_analysis=TRUE)
# vector of explicit probabilities (goodness of fit test)
p_chisq.test(100, P0 = c(.25, .25, .25, .25),
P = c(.6, .2, .1, .1))
# matrix of explicit probabilities (two-dimensional test of independence)
p_chisq.test(100, P0 = matrix(c(.25, .25, .25, .25), 2, 2),
P = matrix(c(.6, .2, .1, .1),2,2))
# \donttest{
# compare simulated results to pwr package
P0 <- c(1/3, 1/3, 1/3)
P <- c(.5, .25, .25)
w <- pwr::ES.w1(P0, P)
df <- 3-1
pwr::pwr.chisq.test(w=w, df=df, N=100, sig.level=0.05)
# slightly less power when evaluated empirically
p_chisq.test(n=100, w=w, df=df) |> Spower(replications=100000)
p_chisq.test(n=100, P0=P0, P=P) |> Spower(replications=100000)
# slightly differ (latter more conservative due to finite sampling behaviour)
pwr::pwr.chisq.test(w=w, df=df, power=.8, sig.level=0.05)
p_chisq.test(n=interval(50, 200), w=w, df=df) |> Spower(power=.80)
p_chisq.test(n=interval(50, 200), w=w, df=df, correct=FALSE) |>
Spower(power=.80)
# Spower slightly more conservative even with larger N
pwr::pwr.chisq.test(w=.1, df=df, power=.95, sig.level=0.05)
p_chisq.test(n=interval(1000, 2000), w=.1, df=df) |> Spower(power=.95)
p_chisq.test(n=interval(1000, 2000), w=.1, df=df, correct=FALSE) |>
Spower(power=.95)
# }
Run the code above in your browser using DataLab