> A=function(n,u)
+ {c1=rep(0,times=1000)
+ c2=rep(0,times=1000)
+ for(k in 1:1000)
+ {normdata=rnorm(n,u,1)
+ t=t.test(normdata,alternative=c("greater"))
+ if(t$p.value<=0.05)
+ {c1[k]=1}else{c1[k]=0}
+
+ s=sum(normdata>0)
+ sign=binom.test(s,n,alternative=c("greater"))
+ if(sign$p.value<=0.05)
+ {c2[k]=1}else{c2[k]=0}
+ }
+ s1=sum(c1)
+ s2=sum(c2)
+ p1=s1/1000
+ p2=s2/1000
+ RE=p1/p2
+ }
> result=data.frame(mu0=rep(0,times=5),mu0.1=rep(0,times=5),mu0.2=rep(0,times=5), mu0.3=rep(0,times=5),mu0.4=rep(0,times=5),mu0.5=rep(0,times=5),mu0.6=rep(0,times=5), mu0.7=rep(0,times=5),mu0.8=rep(0,times=5))
> colnames(result)=c("0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8")
> rownames(result)=c("10","15","20","25","30")
> n=c(10,15,20,25,30)
> u=c(0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8)
> for(i in 1:9){for(j in 1:5){result[j,i]=A(n[j],n)}}
错误于t.test.default(normdata, alternative = c("greater")) :
not enough 'x' observations
此外: 警告信息:
In rnorm(n, u, 1) : 产生了NA