使用svyglm和svydesign with R进行多阶段分层聚类设计

rm5edbpk  于 2023-02-27  发布在  其他
关注(0)|答案(1)|浏览(337)

我有一个复杂的数据集,它是由一个多级分层聚类设计。我最初用glm分析了这个,但是现在意识到我必须使用svyglm。我不太确定如何最好地使用svyglm建模数据。我想知道是否有人能帮助解释一下。
我试图看到在时间1时所取的各种协变量对时间2时所取的二元结果的影响。
采样策略如下:州-〉城市/农村-〉地区-〉子地区-〉村庄在每个村庄内,随机选择个体,每个个体具有ID(唯一ID)。
我在df中为采样策略的每个阶段都设置了一个变量,还有以下变量:结果,年龄,性别,收入,婚姻状况,城市或农村地区,唯一ID,权重。我希望回归方程的公式是结果~年龄+性别+收入+婚姻状况+城市或农村地区。权重由权重变量编码。我将家庭设置为二项式(链接= logit)。
如果有人知道如何用svyglm在R中编写这样的方法,我将非常感激。我很困惑应该输入什么作为ID,fpc和nest。我必须指定分层设计的所有水平还是只是一些水平?
任何方向,或资源,解释这一点很好,将不胜感激。

4c8rllxm

4c8rllxm1#

你没有给予足够的设计信息:哪些地理单元是分层的,哪些是聚类的。例如,我的猜测是,您对所有州的城市和农村都进行了抽样,但您没有对所有村庄进行抽样,但我不知道您是对所有区还是子区进行抽样。我也不知道您的总体抽样分数是大还是小(因此,替换近似值是否合适)
假设您只对一些地区进行抽样,因此地区是您的主要抽样单位,人口的总体抽样比例很小。

your_design <- svydesign(id=~district, weights=~weights,
 strata=~interaction(state, urban_rural,drop=TRUE), 
 data=your_data_frame)

也就是说,阶层是州和城市/农村的组合,任何不在数据集中的组合都不存在于人口中(可能有些州是全农村或全城市)。在每个阶层中,您有行政区,只有其中的“一些”出现在样本中。在地理层次结构中,行政区是“抽样”的第一个级别,而不是穷举。
除非您想指定不需要替换的完整多级设计,否则不需要fpc
nest选项不是关于调查是如何进行的,而是关于变量是如何编码的,美国国家卫生统计中心(保佑他们的心)设置了很多设计,有很多层,每个层有两个主要抽样单元,他们称这些主要抽样单元为12;也就是说,它们在每个层中重用名称12svydesign函数被设置为期望不同层中的 * 不同 * 采样单元名称,并且验证每个采样单元名称仅出现在一个层中。作为对数据错误的检查。对于NCHS调查和其他一些也重复使用抽样单位名称的调查,必须禁用这种检查。您可以在开始时省去nest选项;svydesign将告诉您是否可能需要它。
最后,模型:

svyglm(outcome ~ age + sex + income + marital_status + urban_or_rural_area,
  design=your_design, family=quasibinomial)

使用binomialquasibinomial将给予 * 相同 * 的答案,但使用binomial将给出关于非整数权重的无害警告。如果使用quasibinomial,无害警告将被隐藏。

相关问题