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

dix*_*ixi 8 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)
Run Code Online (Sandbox Code Playgroud)

我想计算百分比变量,例如已婚,并计算标准误差?

我还想对已婚和钢笔进行交叉表并获得结果比例的标准误差?

我怎么做?

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

s.b*_*nel 6

使用svytable

summary(d.s)
svytable(~married+pens, d.s)
svytable(married~pens, d.s)
svytable(married~., d.s) #with all variable
Run Code Online (Sandbox Code Playgroud)


Pet*_*sza 5

interaction一种方法是在公式中使用svymeanor svytotal

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

svymean(~interaction(married, pens), d.s.)
Run Code Online (Sandbox Code Playgroud)

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

svytotal(~interaction(married, pens), d.s.)
Run Code Online (Sandbox Code Playgroud)


小智 5

prop.table与以下一起使用svy.table

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

#margin=1 will give you column percentages
Run Code Online (Sandbox Code Playgroud)