Onkelinx, Thierry
keywords: sample size, power analysis, design optimization
Tools for iterative power analysis and design optimization using simulation and adaptive sampling strategies.
You can install the development version from GitHub with:
# install.packages("remotes")
remotes::install_git("https://github.com/inbo/designpower")The package provides tools for iterative power analysis. Here’s a basic example:
library(designpower)
# Define your simulation function
my_sim <- function(design, n_sim, ...) {
replicate(n_sim, {
# Your simulation logic here
# Should return p-values
runif(1)
}) |>
list(p = _)
}
# Find optimal design parameters
result <- find_power(
design = list(effect_size = 0.3, n_per_group = 30),
design_digits = c(effect_size = 2, n_per_group = 0),
opti = "effect_size",
sim_power = my_sim,
extra_args = list(),
power = 0.8,
alpha = 0.05
)
resultThe main functions in designpower are:
find_power()- Iteratively search for optimal design parameters using adaptive simulationsim_power()- Example power simulation functionobserved_power()- Calculate observed power from simulations (internal)get_design_id()- Manage design identifiers in the database (internal)sample_new_design()- Determine next design parameters using GAM modelling (internal)