当我尝试运行power.prop.test
来执行A/B测试的功率分析时,它表现良好。但是,当我尝试绘制一系列"幂"所需的样本大小图时,我做了一个 for 循环,控制台给了我这个错误。
p2 <- seq(.1511, .188875, .007555)
np2 <- length(p2)
power <- seq(.4, .9, .1)
npower <- length(power)
samsize <- array(numeric(np2*npower), dim = c(np2,npower))
for (i in 1:npower){
for (j in 1:np2){
result <- power.prop.test(n = NULL, p1 =.1511, p2 = p2[j],
sig.level = .05, power = power[i],
alternative = c("two.sided","one.sided"),
strict = FALSE, tol = .Machine$double.eps^.25)
samsize[j,i] <- ceiling(result$n)
}
}
uniroot(function(n( eval(p.body( 中的错误 - power, c(1, 1e+07(, tol = tol, : 在 1000 次迭代中未发现符号变化
#Error 消息 uniroot(function(n( eval(p.body( 中的错误 - power, c(1, 1e+07(, tol = tol, : 在 1000 次迭代中未发现符号变化
我想知道如何解决它。
我怀疑这与p2[1]
=p1
有关。 这意味着无限的样本量。
顺便说一句:当你在这样的循环中遇到问题时,知道问题发生在循环的哪个迭代上非常有用。 下次,在相关点放置一些打印语句,以确定发生错误时循环的状态。