【问题标题】:How to get the right frequency table weighted and unweighted in complex survey?如何在复杂调查中获得正确的频率表加权和未加权?
【发布时间】:2019-10-13 00:15:15
【问题描述】:

我正在使用survey package 来分析一项复杂的调查

我在使用这段代码时遇到的问题

tab_w<- svytable( ~edu+ smok , design= dsub)

结果显示了整个人口的频率表,而不仅仅是我调查的样本人口。

         smok
edu         1         2
       1   26466299  87948351
       2   20898455 102012829

这是我想做的表

----------------------------------------------
    |     Smok             |  Smok
    | Unweighted           | Weighted
    | Sample size          | population Size
    |   1     |  2         |  1     |  2         
----------------------------------------------
edu |-----------------------------------------                    
  1 |26466299| 87948351    |  200 | 204 
  2 |20898455|102012829    |  400 | 300
-----------------------------------------------

这包括整个人口,而不仅仅是我的样本人口。有没有办法在频率表中只包含样本总体?

【问题讨论】:

  • 我承认我对那个包了解不多,但看起来我们在这个问题上没有足够的能力来测试任何东西。有没有办法提供样本数据?我的意思是假的(或有代表性的)“人口”数据,以及该样本人口数据的样本(“样本”的使用在这里被双重使用,我很抱歉)。底线,请让这个问题至少在某种程度上可以重现。谢谢!

标签: r package survey


【解决方案1】:

未加权样本表完全不需要调查包,只需使用tablextabs函数即可。

或者,如果您只有调查对象中方便可用的数据

with(model.frame(dsub), table(edu,smok))

作为一个可重现的例子

library(survey)
data(api)


with(apistrat, table(comp.imp, sch.wide))
#stratified sample
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
svytable(~comp.imp+sch.wide, design=dstrat)
with(model.frame(dstrat), table(comp.imp, sch.wide))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多