使用svyby svyciprop的多个因素的比例错误分母

时间:2015-06-16 20:28:07

标签: r survey

我想从我从复杂抽样调查中提取的列联表中获得比例和置信区间。我正在使用svy svyciprop(包survey)。

问题:我的代码没有添加我在分母中所期望的数字,所以我得到了错误的'比例。我在下面提出我的具体例子。关于如何解决这个问题的任何想法?

我想要计算的比例

在下面的示例中,我想估计P040的每个类别中与actv_30 == 1的比例与所有男性相比。'

让我们创建一个列联表并计算外部比例' R上。

ftable(svytable(~actv_30+v0302+P040, design = sample.pns13.18y)) #PNS 2013
enter code here
                         P040    Maybe       No      Yes
actv_30          v0302                                
0                  Men         3465091 32738241  5663912
                   Women       3793623 20721490  5961574
1                  Men         2826317        0  6761130
                   Women       2594562        0  5525180

在这个例子中,计算如下:1.Men.Maybe / ALL men

1.Men.Yes == 13.14%== 6761130 /(6761130 + 2826317 + 3465091 + 32738241 + 5663912)

1.Men.Maybe == 5.49%== 2826317 /(6761130 + 2826317 + 3465091 + 32738241 + 5663912)

'错误'我得到的比例

这是我的R代码和输出。问题是我的代码计算了每个P040类别的比例。所以它是计算:1.Men.Maybe / 1.Men.Maybe + 0.Men.Maybe,其中分母是P040的每个类别的总和。

事实上,我想要:1.Men.Maybe / ALL men,其中分母是v0302每个类别的总和。

svyby(~factor( actv_commutetime30==1 ) ,
                   ~v0302+P040,
                   design = sample.pns13.18y ,
                   vartype="ci",
                   level = 0.95,
                   svyciprop)

            v0302  P040     factor(actv_30 == 1)    ci_l     ci_u
Men.Maybe     Men Maybe                     0.45     0.41    0.48 

Women.Maybe Women Maybe                     0.41     0.38    0.44 

Men.No        Men    No                     0.00     0.00    0.00 

Women.No    Women    No                     0.00     0.00    0.00 

Men.Yes       Men   Yes                     0.54     0.52    0.57 

Women.Yes   Women   Yes                     0.48     0.46    0.51 

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

亲爱的并使用可重现的例子

    'params'  => array('foo' => 'bar')