R:如何使用调查包计算比例?

时间:2017-01-02 11:33:38

标签: r survey

这只是一个非常简单的问题,但我无法从网页和书籍中找到合适的功能。

这是我从这里的帖子中得到的一个例子。

df <- data.frame(sex = c('F', 'M', 'F', 'M', 'M', 'M', 'F', 'F'),
             married = c(1,1,1,1,0,0,1,1),
             pens = c(0, 1, 1, 1, 1, 1, 0, 0),
             weight = c(1.12, 0.55, 1.1, 0.6, 0.23, 0.23, 0.66, 0.67))

d.s <- svydesign(ids=~1, data=df, weights=~weight)

我想计算结婚等百分比变量并计算标准误差?

我也想做结婚和笔的交叉表,并得到所得比例的标准误差?

我该怎么做?

我尝试了svymean,但它会将数值视为整数而不是因子。

3 个答案:

答案 0 :(得分:3)

使用svytable

summary(d.s)
svytable(~married+pens, d.s)
svytable(married~pens, d.s)
svytable(married~., d.s) #with all variable

答案 1 :(得分:0)

方法是使用interactionsvymean在公式中使用svytotal

这应该为您提供每个类别的响应比例以及标准错误。

svymean(~interaction(married, pens), d.s.)

这应该为您提供每个类别的频率以及标准错误。

svytotal(~interaction(married, pens), d.s.)

答案 2 :(得分:0)

prop.tablesvy.table 一起使用:

prop.table(svytable((~married, pens),d.s), margin=1)

#margin=1 will give you column percentages