library(BSDA)
## Loading required package: lattice
##
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
##
## Orange
I <- 30 # number of iterations
n <- seq(10,100,10) # sample sizes 10 through 100 in steps of size 10
n
## [1] 10 20 30 40 50 60 70 80 90 100
n[1]
## [1] 10
n[2]
## [1] 20
power.t <- rep(1,10) #power of t test from the 10 different sizes,
#use vector (1,1,....1) to denote the default
power.w <- rep(1,10) # power of wilcoxon
power.s <- rep(1,10) # power of sign test
power.t
## [1] 1 1 1 1 1 1 1 1 1 1
for(j in 1:10) {
decision.t <- 1:I
decision.w <- 1:I
decision.s <- 1:I
for(i in 1:I) {
x <- rnorm(n[j],1,3)
pvalue.t <- t.test(x)$p.value
pvalue.w <- wilcox.test(x)$p.value
pvalue.s <- SIGN.test(x)$p.value
decision.t[i] <- (pvalue.t < .05) # TRUE=correct decision, coded by 1, FALSE = wrong decision, coded by 0
decision.w[i] <- (pvalue.w < .05) #1=correct decision
decision.s[i] <- (pvalue.s < .05)
}
power.t[j] <- mean(decision.t) # proportion of correct decisions
power.w[j] <- mean(decision.w)
power.s[j] <- mean(decision.s)
}
power.t
## [1] 0.1000000 0.3333333 0.4000000 0.3666667 0.6666667 0.7333333 0.7000000
## [8] 0.8666667 0.9333333 0.9666667
power.w
## [1] 0.1000000 0.3000000 0.4333333 0.3333333 0.6333333 0.7333333 0.7000000
## [8] 0.8000000 0.9000000 0.9666667
power.s
## [1] 0.03333333 0.16666667 0.36666667 0.30000000 0.46666667 0.46666667
## [7] 0.46666667 0.63333333 0.63333333 0.73333333
plot(power.t[j],type="n",xlim=c(0,100),ylim=c(0,1),main="",xlab="Sample size", ylab = "Power", cex.lab=1.3,cex.axis=1.3)
points(n,power.t,type="l",lwd=2,col="black")
points(n,power.w,type="l",lwd=2,lty=2,col="red")
points(n,power.s,type="l",lwd=2,lty=3,col="orange")
legend(0,1,legend=c("t-test","Wilcoxon","Sign test"),col=c("black","red","orange"),lty=c(1,2,3),cex=2,bty="n",lwd=c(2,2,2))