Skip to contents

ggpower validates core kernels against published reference examples. Direct noncentral t, F, normal, and chi-square procedures use tight tolerances. Exact enumeration is used where the grid is computationally feasible. Approximation-backed procedures report method notes in the result object.

Example 1: One-sample t, a priori

Target: d=0.625d = 0.625, α=0.05\alpha = 0.05 (one-tailed), power =0.95= 0.95.

Expected: n=30n = 30, actual power 0.955144\approx 0.955144, df=29df = 29.

r1 <- power_compute("t_one_sample", "a_priori", d = 0.625, alpha = 0.05,
                      power = 0.95, tails = "one")
r1$outputs[c("total_sample_size", "actual_power", "df")]
#> $<NA>
#> NULL
#> 
#> $actual_power
#> [1] 0.9551444
#> 
#> $df
#> [1] 29

Example 2: Multiple regression omnibus, post hoc

f2=0.1111111f^2 = 0.1111111, α=0.05\alpha = 0.05, N=95N = 95, 5 predictors.

Expected: λ10.556\lambda \approx 10.556, critical F2.317F \approx 2.317, df2=89df_2 = 89, power 0.674\approx 0.674.

r2 <- power_compute("f_mreg_omnibus", "post_hoc", f2 = 0.1111111,
                      alpha = 0.05, total_n = 95, predictors = 5)
r2$outputs[c("noncentrality_parameter", "critical_f", "denominator_df", "power")]
#> $noncentrality_parameter
#> [1] 10.55555
#> 
#> $critical_f
#> [1] 2.316858
#> 
#> $denominator_df
#> [1] 89
#> 
#> $power
#> [1] 0.6735857

Example 3: ANOVA special, post hoc

f=0.2450722f = 0.2450722, N=108N = 108, df1=4df_1 = 4, 36 groups.

Expected: λ6.487\lambda \approx 6.487, df2=72df_2 = 72, power 0.476\approx 0.476.

r3 <- power_compute("f_anova_special", "post_hoc", f = 0.2450722,
                      alpha = 0.05, total_n = 108, df1 = 4, groups = 36)
r3$outputs[c("noncentrality_parameter", "denominator_df", "power")]
#> $noncentrality_parameter
#> [1] 6.486521
#> 
#> $denominator_df
#> [1] 72
#> 
#> $power
#> [1] 0.4756346

Example 4: Two-sample t, unequal n, post hoc

d=0.5d = 0.5, n1=4n_1 = 4, n2=8n_2 = 8, one-tailed α=0.05\alpha = 0.05.

Expected: δ0.816\delta \approx 0.816, df=10df = 10, power 0.189\approx 0.189.

r4 <- power_compute("t_two_sample", "post_hoc", d = 0.5, n1 = 4, n2 = 8,
                      alpha = 0.05, tails = "one")
r4$outputs[c("noncentrality_parameter", "df", "power")]
#> $noncentrality_parameter
#> [1] 0.8164966
#> 
#> $df
#> [1] 10
#> 
#> $power
#> [1] 0.1886663
Kernel type Tolerance
Direct distribution (t, F, z, χ2\chi^2) 10510^{-5} to 10410^{-4}
Integer a priori solvers Sample size exact; actual power \geq target
Approximation-backed Document method; validate with sensitivity plots