将测量设计声明的Stata命令转换为R-svydesign时出现问题



我正在研究INCA3营养数据集。要进行分析,必须执行调查声明。本文件对此进行了说明:https://static.data.gouv.fr/resources/donnees-de-consommations-et-habitudes-alimentaires-de-letude-inca-3/20210128-192916/notice-utilisateurs-donnees-inca3-data.gouv-english.pdf

特别是,对于我感兴趣的数据集,提供了以下Stata命令(第69页(:

svyset zae [pweight=pond_indiv_adu_pop3], ///
strata(strate) fpc(fpc1) vce(linearized) singleunit(scaled) ///
|| NOMEN, fpc(fpc2) || NOIND, fpc(fpc3)

不幸的是,我不使用Stata,以前也没有处理过这种类型的调查。我正在使用R,并找到了带有相应svydesign命令的survey包。这是我在R:中复制代码的尝试

svydesign(id=~zae+NOMEN+NOIND,
strata=~strate,
weights=~pond_indiv_adu_pop3,
fpc=~fpc1+fpc2+fpc3,
data=conso_alim)

不幸的是,它不起作用,因为我得到了以下错误:

Error in (function (object, ...) : missing values in `weights'

我的实现有什么问题吗?

如错误消息所示,权重变量pond_indiv_adu_pop3中缺少值。您可以尝试使用数据的子集:

svydesign(id = ~zae + NOMEN + NOIND,
strata = ~strate,
weights = ~pond_indiv_adu_pop3,
fpc = ~fpc1 + fpc2 + fpc3,
data=subset(conso_alim, !is.na(pond_indiv_adu_pop3))

如果没有一个可重复的例子,我不确定这是否能解决你的问题。

最新更新