Skip to content

Instantly share code, notes, and snippets.

@peterdalle
Last active March 24, 2022 18:41
Show Gist options
  • Save peterdalle/520d05bde7cd16e48be64a3a652b61dd to your computer and use it in GitHub Desktop.
Save peterdalle/520d05bde7cd16e48be64a3a652b61dd to your computer and use it in GitHub Desktop.
Analytic power analysis for correlations (Pearson's r) at different sample sizes
library(tidyverse)
library(pwr)
power_correlation <- function(n, r, alpha=0.05) {
power <- pwr.r.test(n=n, r=r, sig.level=alpha)
data.frame(n=n, r=r, alpha=alpha, power=power$power)
}
parameters <- expand.grid(n = seq.int(4, 200, by=2),
r = seq.int(.1, .9, by=.1))
results <- pmap_dfr(parameters, power_correlation)
results %>%
ggplot(aes(n, power, group=r, color=as.factor(r))) +
geom_line() +
guides(color = guide_legend(reverse=TRUE)) +
labs(title = "Power for different sample sizes and correlations",
x = "Sample size",
y = NULL,
color = "Pearson's r")
@peterdalle
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment