Justify your alpha level by minimizing or balancing Type 1 and Type 2 error rates.

optimal_sample(
power_function,
errorgoal = 0.05,
costT1T2 = 1,
priorH1H0 = 1,
error = "minimize",
printplot = FALSE
)

Arguments

power_function Function that outputs the power, calculated with an analytic function. Desired weighted combined error rate Relative cost of Type 1 errors vs. Type 2 errors. How much more likely a-priori is H1 than H0? Either "minimize" to minimize error rates, or "balance" to balance error rates. Print a plot to illustrate the alpha level calculation. This will make the function considerably slower.

Value

alpha = alpha or Type 1 error that minimizes or balances combined error rates, beta = beta or Type 2 error that minimizes or balances combined error rates, errorrate = weighted combined error rate, objective = value that is the result of the minimization, either 0 (for balance) or the combined weighted error rates, samplesize = the desired samplesize.

References

Maier & Lakens (2021). Justify Your Alpha: A Primer on Two Practical Approaches

Examples

## Optimize power for a independent t-test, smallest effect of interest
## d = 0.5, desired weighted combined error rate = 5%
if (FALSE) {
res <- optimal_sample(power_function = "pwr::pwr.t.test(d = 0.5, n = sample_n, sig.level = x,
type = 'two.sample', alternative = 'two.sided')$power",errorgoal = 0.05) res$alpha
res$beta res$errorrate
res\$samplesize
}