#' Balance Alpha and Beta Error
#' @description Find alpha-value for which 1-power and alpha are balanced.
#' @export
balance_errors <- function(sesoi, n, one_tailed){
# dependencies
library(pwr); library(magrittr)
alphas <- seq(from = .0001, to = 1, by = .0001)
power <- 0
if(one_tailed == FALSE) {
for (i in seq_along(alphas)) {
power[i] <- pwr::pwr.r.test(n = n, r = sesoi, sig.level = alphas[i])$power %>% round(3)
}
} else {
for (i in seq_along(alphas)) {
power[i] <- pwr::pwr.r.test(n = n, r = sesoi, sig.level = alphas[i], alternative = "greater")$power %>% round(3)
}
}
# create dataframe with alphas and associated power
temp <- cbind(alphas,
power,
"false_rej" = 1 - power,
"diff" = alphas - (1 - power)
) %>%
as.data.frame()
# find value closest to x
maxless <- max(temp$diff[temp$diff <= 0], na.rm = TRUE)
# return result
return(dplyr::filter(temp, diff == maxless)$alpha)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.