如何获得Stata中两个比例差的置信区间

如何获得Stata中两个比例差的置信区间,stata,Stata,我想获得两个比例的差异的置信区间 比如说 webuse highschool tab race sex, col chi2 1=white, | 2=black, | 1=male, 2=female 3=other | male female | Total -----------+----------------------+---------- White | 1,702 1,850 | 3,552

我想获得两个比例的差异的置信区间

比如说

webuse highschool
tab race sex, col chi2


  1=white, |
  2=black, |   1=male, 2=female
   3=other |      male     female |     Total
-----------+----------------------+----------
     White |     1,702      1,850 |     3,552 
           |     87.82      86.73 |     87.25 
-----------+----------------------+----------
     Black |       201        249 |       450 
           |     10.37      11.67 |     11.05 
-----------+----------------------+----------
     Other |        35         34 |        69 
           |      1.81       1.59 |      1.69 
-----------+----------------------+----------
     Total |     1,938      2,133 |     4,071 
           |    100.00     100.00 |    100.00 

      Pearson chi2(2) =   1.9652   Pr = 0.374

白人男女比例的差异是87.82-86.73=1.09,我想知道这个差异的置信区间。

你需要的是
prtest
命令:
prtest sex,by(种族)
。变量不应包含两个以上的组

webuse highschool
tab race sex, col chi2

// dummies
gen is_black = (race == 2) if race < 3
gen is_female = (sex == 2) if !mi(sex)

// proportions test
prtest is_female, by(is_black)
webuse高中
tab种族性别,chi2上校
//假人
如果种族<3,则gen为_black=(种族==2)
gen是女性=(性别==2)如果!mi(性别)
//比例测试
prtest为女性,由(为黑色)

您可以使用直接形式的
-prtest-
,即
-prtesti-

缺点是您必须手动输入计数和比例:

以你的例子:

prtesti 1702 0.8782 1850 0.8673

Two-sample test of proportions                     x: Number of obs =     1702
                                                   y: Number of obs =     1850
------------------------------------------------------------------------------
    Variable |       Mean   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |      .8782   .0079276                      .8626622    .8937378
           y |      .8673   .0078874                       .851841     .882759
-------------+----------------------------------------------------------------
        diff |      .0109   .0111829                     -.0110181    .0328181
             |  under Ho:   .0112015     0.97   0.331
------------------------------------------------------------------------------
        diff = prop(x) - prop(y)                                  z =   0.9731
    Ho: diff = 0

    Ha: diff < 0                 Ha: diff != 0                 Ha: diff > 0
 Pr(Z < z) = 0.8347         Pr(|Z| < |z|) = 0.3305          Pr(Z > z) = 0.1653
prtesti 1702 0.8782 1850 0.8673
比例x的两个样本测试:obs数量=1702
y:OB的数量=1850
------------------------------------------------------------------------------
变量|平均标准误差。z P>| z |[95%配置间隔]
-------------+----------------------------------------------------------------
x |.8782.0079276.8626622.8937378
y |.8673.0078874.851841.882759
-------------+----------------------------------------------------------------
差异|.0109.0111829-.0110181.0328181
|Ho下:.0112015 0.97 0.331
------------------------------------------------------------------------------
差异=道具(x)-道具(y)z=0.9731
Ho:diff=0
Ha:diff<0 Ha:diff!=0公顷:差异>0
Pr(ZZ)=0.1653

请看我在“谢谢”中对一个相关问题的回答,我给出的示例不是我的实际应用程序-我的数据差异要大得多,超过%。但是
prop
似乎不允许使用
by
选项。这是我的错误——我指的是
prtest
命令,它的操作与
ttest
命令类似,但用于比例。我已经完全重写了我的答案。再次感谢,但是我所有的变量/do/take都有两个以上的级别,所以我得到的
XXX有3个值,而不是2个
,然后你需要将你的分类变量重新编码为假人(真/假形式的二进制变量)。使用
tab
gen
选项:
tabrace,gen(race)
然后
prtest sex,by(race_1)
来测试性别差异。谢谢,但是当我尝试你的建议(使用
highschool
数据)时,我得到
1.553333不在[0,1]