r语言 - power.prop.test 运行 for 循环时出错



当我尝试运行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有关。 这意味着无限的样本量。

顺便说一句:当你在这样的循环中遇到问题时,知道问题发生在循环的哪个迭代上非常有用。 下次,在相关点放置一些打印语句,以确定发生错误时循环的状态。

最新更新