这只是一个非常简单的问题,但我无法从网页和书籍中找到合适的功能。
这是我从这里的帖子中得到的一个例子。
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,但它会将数值视为整数而不是因子。
答案 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)
方法是使用interaction
或svymean
在公式中使用svytotal
。
这应该为您提供每个类别的响应比例以及标准错误。
svymean(~interaction(married, pens), d.s.)
这应该为您提供每个类别的频率以及标准错误。
svytotal(~interaction(married, pens), d.s.)
答案 2 :(得分:0)
将 prop.table
与 svy.table
一起使用:
prop.table(svytable((~married, pens),d.s), margin=1)
#margin=1 will give you column percentages