【问题标题】:R survey poststratification: struggling with the survey functionR调查后分层:与调查功能作斗争
【发布时间】:2021-04-19 23:37:18
【问题描述】:

我是新来的,也是 R 的新手。我想知道我是否正确使用了 R 调查包来发布我的数据。下面你可以看到我的数据框(df)的数据结构。

utype gender age regzeit finanz sfeld sindex
pri female 23 ja s ARG 5
sta male 23 nein f ARG -7
sta female 21 ja ARG 11
pri male 28 ja t ARG 1

我已经对“性别”变量的女性和“utype”变量的学生进行了过度抽样,现在想要调整人口分布。我的 n=383 被过采样到 n = 477 我的 n=383 样本的预期分布是:

utype male female Sum
pri 54 68 122
sta 128 133 261
Sum 187 196 383

design <- svydesign(id = ~utype+gender, data = df)

警告信息: 在 svydesign.default(id = ~utype + gender, data = df) 中: 假设概率相等,不提供权重或概率

pop.types <- data.frame(utype=c("sta","pri"), Freq=c(261,122))

designp <- postStratify(design, ~utype, pop.types)

postStratify(design, ~utype, pop.types)

svymean(~sindex, design)
意思是|东南
指数 0.48008 | 0.0192
svymean(~sindex, designp)
意思是 |东南
指数 0.47692 | 0

我现在的问题是以下代码是否正确,以及如何在代码中对变量 utype 和性别进行 postStratify,或者我是否必须运行 postStratify 命令两次。我特别担心我的加权样本中的标准误差为零并且由于警告消息。频率值是否适合我在这里尝试做的事情?

我一直试图弄清楚的最后一件事是如何获取“sindex”的 svymean、svyhist 或 svyboxplot 函数,但仅适用于 utype == pri 的观察,因此基本上是按组进行的。这应该全部应用于加权 sindex 值。

我希望我遵守所有规则。非常感谢!

【问题讨论】:

    标签: r statistics cluster-analysis survey


    【解决方案1】:

    您不想进行两次后分层(这会给您带来好处)。您想使用一个后层变量进行一次分层,该变量是您的两个变量性别的组合,如您的 2x2 表中。也就是说,

    designp <- update(designp, combined_var = interaction(gender,utype))
    

    您现在指定一个 pop.types= 参数,该参数具有此新变量四个级别中每一个级别的所需频率。

    仅使用您列出的四个观察结果,您最终将得到零标准误差,因为在任何后期层中都没有任何变化。

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多