r - 运行 for 循环时的 power.prop.test 错误
问题描述
当我尝试运行 apower.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 message Error in uniroot(function(n) eval(p.body) - power, c(1, 1e+07), tol = tol, : 在 1000 次迭代中没有发现符号变化
我想知道如何解决它。
解决方案
我怀疑这与p2[1]
=的事实有关p1
。这意味着无限的样本量。
顺便说一句:当您在这样的循环中遇到问题时,了解问题发生在循环的哪个迭代中非常有用。下次在相关点放一些打印语句,以确定错误发生时循环的状态。
推荐阅读
- python - 熊猫数据帧索引中的2个条件
- flutter - 尝试将图像名称列表保存到 Firestore
- powerbi - Power BI 计算表未由数据切片器过滤
- python - 如何跨平台设置 Python 资源限制?
- shell - sed 替换引号中的字符串;带有反向引用;外壳脚本
- python - Python 和 BeautifulSoup4 - 如何调试发布请求响应?
- if-statement - 带有 IF 语句的 DAX 运行总日历日期问题
- mysql - 在 Doctrine 中管理两个具有不同自动增量的不同 id?
- rust - 在 Linux 上安装 Rust 失败并出现错误:'sysinfo failure'
- amazon-web-services - 无法获取附加 EBS 卷的 CloudWatch 指标