Determine the necessary number of subjects to achieve a desired level of statistical power for the omnibus F test of the within-subjects factor in a one-way repeated measures ANOVA, or, given a number of subjects, return the realized statistical power.
ss_power_rm_anova(
a,
f = NULL,
eta_squared = NULL,
rho = 0,
epsilon = 1,
desired_power = 0.85,
alpha_level = 0.05,
n = NULL
)A data.frame with rows for necessary_n_subjects (or specified_n_subjects),
a, effect_df, error_df, noncentrality, and actual_power.
The result carries the dmar_ss_power class, so
tidy and glance summarize
it in broom convention (the reported size is the number of subjects).
Number of measurement occasions (levels of the within-subjects factor)
Cohen's f effect size for the within-subjects factor (the population value); supply this or eta_squared, but not both
Population eta squared (proportion of variance, on the relevant scale, accounted for by the within-subjects factor); supply this or f
Average correlation among the repeated measures (default 0). With rho > 0, the within-subjects test gains efficiency relative to a between-subjects analogue
Greenhouse-Geisser / Huynh-Feldt sphericity adjustment in (0, 1] (default 1, sphericity assumed). When epsilon < 1, both numerator and denominator degrees of freedom are multiplied by epsilon
Desired statistical power (default 0.85)
Type I error rate (default 0.05)
Number of subjects (each measured at all a occasions); if specified, returns the realized power
Ken Kelley [email protected]
Under the alternative hypothesis with sphericity (epsilon = 1), the within-subjects F
statistic follows a noncentral F distribution with numerator df \(a - 1\), denominator df
\((n - 1)(a - 1)\), and noncentrality parameter
\(\lambda = n a f^2 / (1 - \rho)\), where \(f\) is Cohen's f for the within-subjects
effect and \(\rho\) is the average correlation across the repeated measures (Maxwell, Delaney,
& Kelley, 2027). Setting rho = 0 reduces to the between-subjects expression.
When sphericity is violated, supplying epsilon (e.g., a Greenhouse-Geisser estimate)
rescales the test using the Muller-Barton convention: both numerator and denominator
degrees of freedom are multiplied by epsilon, and the noncentrality parameter is
likewise multiplied by epsilon. Smaller epsilon therefore reduces power and
increases the necessary sample size.
Maxwell, S. E., Delaney, H. D., & Kelley, K. (2027). Designing experiments and analyzing data: A model comparison perspective (4th ed.). Routledge.
Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Hillsdale, NJ: Lawrence Erlbaum.
ss_power_one_way_anova, ss_power_pcm
design_consequences for what a chosen design delivers:
power, the Type S (sign) and Type M (exaggeration) errors of the
significance filter, and the expected confidence interval width.
Other sample size for power:
power_fisher_exact(),
ss_aipe_mixed_effects(),
ss_power_R2(),
ss_power_R2_sensitivity(),
ss_power_c(),
ss_power_c_ancova(),
ss_power_composite_ancova(),
ss_power_composite_ancova_2group(),
ss_power_composite_anova(),
ss_power_composite_factorial_ancova(),
ss_power_composite_factorial_ancova_het(),
ss_power_composite_factorial_anova(),
ss_power_composite_sem(),
ss_power_contrast(),
ss_power_equivalence_c(),
ss_power_factorial_ancova(),
ss_power_factorial_anova(),
ss_power_indirect_effect(),
ss_power_mixed_effects(),
ss_power_one_way_anova(),
ss_power_pcm(),
ss_power_r(),
ss_power_rc(),
ss_power_reg_coef(),
ss_power_reg_coef_sensitivity(),
ss_power_sc(),
ss_power_sem(),
ss_power_smd(),
ss_power_split_plot_anova()
# 4 measurement occasions, f = 0.25, average within-subject correlation 0.5, power = .80
ss_power_rm_anova(a = 4, f = 0.25, rho = 0.5, desired_power = 0.80)
# Same but with Greenhouse-Geisser epsilon = 0.75
ss_power_rm_anova(a = 4, f = 0.25, rho = 0.5, epsilon = 0.75, desired_power = 0.80)
# Realized power at n = 20 subjects, a = 4
ss_power_rm_anova(a = 4, f = 0.25, rho = 0.5, n = 20)
Run the code above in your browser using DataLab