This tiny chunk of code does a power analysis in R, following the example here: https://www.r-bloggers.com/calculating-required-sample-size-in-r-and-sas/

library(pwr)
## Warning: package 'pwr' was built under R version 3.4.1
pwr.t.test(d= 0.34, sig = 0.00054, power = 0.9, type= "one.sample")
## 
##      One-sample t test power calculation 
## 
##               n = 200.4759
##               d = 0.34
##       sig.level = 0.00054
##           power = 0.9
##     alternative = two.sided
pwr.t.test(d= 0.34, sig = 0.05, power = 0.9, type= "one.sample")
## 
##      One-sample t test power calculation 
## 
##               n = 92.83668
##               d = 0.34
##       sig.level = 0.05
##           power = 0.9
##     alternative = two.sided
pwr.t.test(n = 100, d= 0.34, sig = 0.00054, type= "one.sample")
## 
##      One-sample t test power calculation 
## 
##               n = 100
##               d = 0.34
##       sig.level = 0.00054
##           power = 0.4354537
##     alternative = two.sided

Let’s read in our Aggregated Effect-Size data from the pilot to get a better idea of sample sizes

Then we’ll subset out the non-significant values

Then we create a for loop that runs the power test to compute required N for every row

Then we will take some descriptive stats on that column to help us decide what a good sample size might be.

RespDataAgg <- read.csv("F:/Google Drive/GitHub Repos/ste-phen/summer_school_sessions/3_Experimental_setup/RespDataAgg.csv")
RespDataSig <- subset(RespDataAgg, pValue < 0.05)

ReqNs <- list()

for(i in 1:nrow(RespDataSig)){
  
  pwrtest <- pwr.t.test(d = RespDataSig$effsize[i], sig = 0.00054, power = 0.9, type = "one.sample")
  ReqN <- pwrtest$n
  ReqNs <- c(ReqNs, ReqN)
  
}

RespDataSig$ReqN <- as.numeric(ReqNs)

mean(RespDataSig$ReqN)
## [1] 82.91009
sd(RespDataSig$ReqN)
## [1] 58.83432
range(RespDataSig$ReqN)
## [1]  28.53291 332.80710

Some density plots etc. of effect sizes

EffSizes <- density(RespDataSig$effsize)
plot(EffSizes, main="Kernel Density of Effect Sizes")
polygon(EffSizes, col= 'red', border= 'black')