The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
anovapowersim is designed to make determining a priori
power for ANOVAs as easy as possible. You can add as many within/between
factors with as many levels as you would like. There’s no need to
estimate condition means, SDs, or repeated-measures correlations; just
enter the target partial eta squared.
The package simulates data and estimates power based on the specified design. It also provides direct power calculations for comparison.
Getting a priori power for a 2 × 2 × 3 mixed interaction effect is as simple as running the following:
install.packages("anovapowersim") # if not already installed
library(anovapowersim)
power_n(
between = c(group = 2), # group has 2 levels
within = c(stim = 2, cond = 3), # stim has 2 levels, cond has 3
term = "group:stim:cond", # three-way interaction term
target_pes = 0.08, # target effect size
n_sims = 5000, # increase to 10000+ for more precise estimates
power = .90,
alpha = .05,
parallel = TRUE, # simulations will be run in parallel for speed
seed = 123 # for reproducibility
)#><anovapowersim_curve>
#> term: 'group:stim:cond'
#> target power: 0.900
#> alpha: 0.05
#> effect size: pes = 0.08
#> n values: 8 per-cell sample sizes visited
#> sims per cell size: 5000
#> SS type: III
#> n needed for between-subjects cell: 38
#> total N needed: 76
#>
#> n_per_cell total_n n_sims num_df den_df ncp power_calc power_sim
#> 31 62 5000 2 120 10.435 0.823 0.825
#> 37 74 5000 2 144 12.522 0.890 0.885
#> 38 76 5000 2 148 12.870 0.899 0.903
#> 39 78 5000 2 152 13.217 0.907 0.901
#> 40 80 5000 2 156 13.565 0.915 0.918
#> 41 82 5000 2 160 13.913 0.922 0.916
#> 46 92 5000 2 180 15.652 0.949 0.947
#> 62 124 5000 2 244 21.217 0.989 0.988
anovapowersim includes several experimental
power-analysis options. Their full examples and guidance are kept in the
dedicated guides linked below.
At a fixed sample size, power_achieved() estimates power
for a chosen partial eta squared, while power_sensitivity()
estimates the minimum detectable partial eta squared. See the fixed-sample
tutorial.
The _calc() functions skip simulations and use
calculated noncentral-F power. They also support planned nonsphericity
through epsilon. See the calculated-power
tutorial.
power_unbalanced() simulates one exact allocation from
user-defined cell means and sample sizes under a common standard
deviation and optional within-subject correlations. It is
simulation-only and does not extrapolate how unequal cell sizes should
scale. See the unbalanced-design
tutorial.
Install anovapowersim from CRAN:
install.packages("anovapowersim")CRAN remains the primary installation source. R-universe also provides published GitHub Releases rather than development snapshots.
You can install the development version from GitHub:
install.packages("pak")
pak::pak("shaheedazaad/anovapowersim")Or, with remotes:
install.packages("remotes")
remotes::install_github("shaheedazaad/anovapowersim")Azaad, S. (2026). A priori power analysis for ANOVA interaction effects with the anovapowersim R package: a short introduction. https://doi.org/10.31234/osf.io/86rsy_v1.
anovapowersim is designed to be simple and easy to use
first, which means it has some limitations for now. It does not
support:
epsilon < 1; type I tests remain uncorrected.I recommend checking out Superpower,
which handles some of the limitations above.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.