首页 > 解决方案 > R调查后分层:与调查功能作斗争

问题描述

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

utype 性别 年龄 注册时间 金融 斯费尔德 索引
优先 女性 23 s 精氨酸 5
站长 男性 23 内因 F 精氨酸 -7
站长 女性 21 精氨酸 11
优先 男性 28 精氨酸 1

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

utype 男性 女性
优先 54 68 122
站长 128 133 261
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 值。

我希望我遵守所有规则。提前谢谢了!

标签: rstatisticscluster-analysissurvey

解决方案


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

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

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

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


推荐阅读