我想从我从复杂抽样调查中提取的列联表中获得比例和置信区间。我正在使用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
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
亲爱的并使用可重现的例子
'params' => array('foo' => 'bar')