Skip to content

Instantly share code, notes, and snippets.

@MJacobs1985
Created September 30, 2021 18:31
Show Gist options
  • Save MJacobs1985/6ef84d606486b39478f7494814be64e8 to your computer and use it in GitHub Desktop.
Save MJacobs1985/6ef84d606486b39478f7494814be64e8 to your computer and use it in GitHub Desktop.
How many samples do you need
## We now simulate 10k new trials, using population mean and sd, and look for the power -35 samples per time
set.seed(1155)
ARCdatasim<-ARCdata
n=10000
x=matrix(data=NA, nrow=n, ncol=1)
power <- function(x){ sum(x<=0.05)/n *100}
for (i in 1:n){
ARCdatasim$gain[ARCdatasim$Tank==120]<-rnorm(35, mean=popmean[1], sd=popsd[1])
ARCdatasim$gain[ARCdatasim$Tank==121]<-rnorm(35, mean=popmean[2], sd=popsd[2])
ARCdatasim$gain[ARCdatasim$Tank==122]<-rnorm(35, mean=popmean[3], sd=popsd[3])
ARCdatasim$gain[ARCdatasim$Tank==123]<-rnorm(35, mean=popmean[4], sd=popsd[4])
ARCdatasim$gain[ARCdatasim$Tank==125]<-rnorm(35, mean=popmean[5], sd=popsd[5])
ARCdatasim$gain[ARCdatasim$Tank==126]<-rnorm(35, mean=popmean[6], sd=popsd[6])
ARCdatasim$gain[ARCdatasim$Tank==127]<-rnorm(35, mean=popmean[7], sd=popsd[7])
ARCdatasim$gain[ARCdatasim$Tank==128]<-rnorm(35, mean=popmean[8], sd=popsd[8])
ARCdatasim$gain[ARCdatasim$Tank==129]<-rnorm(35, mean=popmean[9], sd=popsd[9])
ARCdatasim$gain[ARCdatasim$Tank==132]<-rnorm(35, mean=popmean[10], sd=popsd[10])
ARCdatasim$gain[ARCdatasim$Tank==133]<-rnorm(35, mean=popmean[11], sd=popsd[11])
ARCdatasim$gain[ARCdatasim$Tank==137]<-rnorm(35, mean=popmean[12], sd=popsd[12])
fit<-lm(gain~Diet,data=ARCdatasim)
x[i,]<-unlist(summary(aov(fit)))[[9]] # saving p value for model effect
}
x<-as.data.frame(x)
print(powervalue_old<-as.data.frame(apply(x, 2, FUN=power))) ## 39% of 10k trials where p<=0.05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment