问题描述
我正在尝试使用R中的调查包对调查进行权衡。我正在为实现这一目标而争论不休。这是MWE:
### SURVEY DATA
country <- rep(c("country A","country B"),5)
response <- rep(c("J","K","L","M"),3)[-c(1:2)]
age_group <- c(1,1,2,3,3)
sex <- rep(c("female","male"),5)
survey <- as.data.frame(cbind(country,response,age_group,sex))
### SAMPLE PROPORTIONS BY COUNTRY
library(dplyr)
sample_props <- survey %>%
group_by(country,sex) %>%
count() %>%
group_by(country) %>%
mutate(sample_prop = n / sum(n))
### POPULATION PROPORTIONS
country_pop <- c(rep("country A",6),rep("country B",6))
age_group_pop <- rep(c(1,3),2)
sex_pop <- rep(c("female",6)
pop_prop <- c(.2,.3,.4,.2,#proportions for country A
.4,.3) #country B
census_props <- as.data.frame(cbind(country_pop,age_group_pop,sex_pop,pop_prop))
在这一点上,我想创建一个svydesign
对象,可以将其输入到survey :: rake函数中,但不确定如何。假设我的样本是一个配额已关闭的配额样本,如何正确使用svydesign
函数,以便可以将对象用于rake
函数?
我想要的输出是使用上面显示的census_props对象进行的分层后的样本。
解决方法
构造svydesign
对象,就好像您的配额正确一样,然后倾斜它以使权重正确。