我有这个问题:使用相对效率,比较符号测试和t测试。 这是我的0.85
功率测试代码min.num.test.t<-function(n)
{
x<-rnorm(n,0,2)
y<-rnorm(n,0,2)
h<-t.test(x,y,paired=TRUE,alternative="greater")$statistic
1-pt(h,n-1)-0.85
}
min.num.segni<-function(n)
{
x<-rnorm(n,0,2)
h<-binom.test(x=sum(x>0), n=length(x),
p = 0.5, alternative ="greater")$statistic
1-sum(dbinom(h:n,n,0.5))-0.85
}
ntest<-ceiling(uniroot(min.num.test.t,c(10,150))$root)
nsegni<-ceiling(uniroot(min.num.segni,c(17,50))$root)
ifelse((ntest/nsegni)>1,print("test segni relativamente più efficiente per una potenza del test fissata a 0.85"),print("test t relativamente più efficiente per una potenza del test fissata a 0.85"))
因此,从统计学上讲,问题是要找到最小的样本量,以便获得测试所需的功率。然后我必须验证两个计算的样本大小的比率是否大于小于1,因此得出结论。 我实现了两个函数,并且uniroot我试图解决这两个方程,以便找到样本大小。问题是当我调用uniroot函数时:它总是返回我指定的间隔的最大值,这对我来说听起来很奇怪...有人想帮我吗?感谢