我正在使用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
-----------------------------------------------
这不仅包括我的样本人口,还包括整个人口。有没有一种方法可以只在频率表中包含样本人口?
答案 0 :(得分:0)
未加权样本表根本不需要调查包,只需使用table
或xtabs
函数即可。
或者,如果您只是方便地在调查对象中获得数据
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))