R或Python,在样本大小比率固定的情况下,是否可以在比例功率测试计算中获得必要的样本大小?

R或Python,在样本大小比率固定的情况下,是否可以在比例功率测试计算中获得必要的样本大小?,python,r,testing,Python,R,Testing,给定两个比例,p1和p2 我想计算p1的必要样本,如果: 1) alpha = .05 2) power = 0.9 3) n1/n2 = r Python统计模型程序给出了类似的结果,但我认为这是错误的,因为它得到的答案与STATA sampsi程序截然不同 stata代码为: sampsi .01 .1, alpha(0.05) ratio(2) 给 Estimated sample size for two-sample comparison o f比例 测试Ho:p1=p2,其中p

给定两个比例,
p1和p2

我想计算p1的必要样本,如果:

1) alpha = .05
2) power = 0.9
3) n1/n2 = r
Python统计模型程序给出了类似的结果,但我认为这是错误的,因为它得到的答案与STATA sampsi程序截然不同

stata代码为:

sampsi .01 .1, alpha(0.05) ratio(2)

Estimated sample size for two-sample comparison o
f比例

测试Ho:p1=p2,其中p1是p中的比例

人口1 p2是p中的比例 人口2 假设:

估计所需样本量:

        n1 =      119
        n2 =      238
python代码是:

import statsmodels.stats.api as sms
es = sms.proportion_effectsize(0.01, 0.1)
sms.NormalIndPower().solve_power(es, power=0.9, alpha=0.05, ratio=2)
其中:

80.25164112946563

正如@rawr在上面的评论中所说,
bsamize
有效(您需要将
frac
参数设置为组1中样本的分数)


这些数字与斯塔塔给出的数字不一样,但很接近<代码>?bsamsize提供了所用算法的详细信息。

您还可以检查比例比较的经验法则样本大小(尽管它适用于相等的组),公式如下:

N = 16 * p * (1-p) / (d**2)
其中概率
p=0.1

差异
d=p1-p2=0.1-0.01=0.09

N的值为每一组178(总共356),这与Stata给出的总大小(357)几乎相同


上面公式的一个参考是:

您能分享一下您尝试过的Python代码吗?也许有人能找出他们不同的原因。
Hmisc::bsamize
googlebetter@Rawr,该软件包似乎不符合我请求的第(3)部分。我也一直在想一个非常类似的问题。@robbieboy74确实如此。阅读帮助文件基本上会泄露它。
library("Hmisc")
bsamsize(.01, .1, power=.9, frac=1/3)
      n1       n2 
102.8526 205.7051 
N = 16 * p * (1-p) / (d**2)