有人知道这里的优化功能是怎么回事吗?考虑到我要进行90/10的控制/测试拆分以达到80的功效,我试图找到最小的样本量。
library(pwr)
# Proportions
p1 <- .09*1.2
p2 <- .09
Cohen.h = ES.h(p1, p2)
getNRatio <- function(n, p=.8){
n1 <- n * .9
n2 <- n * .1
power <- pwr.2p2n.test(h = Cohen.h, n1 = n1, n2 = n2, sig.level = .05, power = NULL, alternative='greater')$power
return((p - power)^2)
}
> optimize(getNRatio, interval=c(0, 1e6), maximum=FALSE, p=.8)
$minimum
[1] 1e+06
$objective
[1] 0.04
> optimize(getNRatio, interval=c(0, 1e5), maximum=FALSE, p=.8)
$minimum
[1] 18875.37
$objective
[1] 6.907866e-20
为什么当我将时间间隔设置为下限并以更高的上限失败时,为什么优化会找到正确的答案?