1

我正在尝试使用 R 中的 pwr 库对样本大小选择进行功率分析。

library(pwr)
pwr.2p2n.test(h = 0.1, n1 = 78, power = 0.8, sig.level = 0.0125)

我收到以下错误:

Error in uniroot(function(n2) eval(p.body) - power, c(2 + 1e-10, 1e+09)) : f() values at end points not of opposite sign

如果我更改样本大小(更大)或将效果大小更改为中等(0.4),那么它将运行。任何解决方案都会很棒,谢谢。

4

1 回答 1

2

我认为第二组中的任何样本量(无论有多大)都不可能达到 0.8 功率,还有其他限制,例如

library(pwr)
pfun <- function(n2) {
    pwr.2p2n.test(h = 0.1, n1 = 78, n2 = n2, sig.level = 0.0125)$power
}
pfun2 <- Vectorize(pfun)

png("ppow.png")
curve(pfun2(x), from = 100, to = 1e9, log="x")
dev.off()

功率曲线在 0.053 处饱和

我“只”尝试了高达 10 ^ 9 的样本大小,但似乎无论你做多大n2,都无法通过这种设置获得 > 0.054 左右的功率。所以这不是计算问题,而是结构/统计问题。

于 2021-08-16T21:34:20.087 回答