false rejection rate figured out
# stop if p.value <= 0.05
> theta=0.5
> .NN=1000
> flp <- function(NN=.NN){
+ N=1:NN
+ flip=NULL
+ for(i in N){
+ flip=append(flip,rbinom(1,1,theta))
+ }
+ z=cumsum(flip)
+ pv=NULL
+ i=1
+ pv[i]=binom.test(z[i],N[i],0.5)$p.value
+ while(i<NN & pv[i]>0.05){
+ i=i+1
+ pv[i]=binom.test(z[i],N[i],0.5)$p.value
+ }
+ # return(length(pv))
+ return(length(pv)<NN) # rejected
+ }
>
> k=100
> flip = function(n){
+ mean(replicate(k,flp(n)))
+ }
> nn=c(100,200,400,800,1600)
> sapply(nn,flip)
[1] 0.28 0.30 0.34 0.35 0.52