【问题标题】:Stratified svyglm in RR中的分层svyglm
【发布时间】:2021-07-29 16:26:20
【问题描述】:

我正在寻找有关如何在 R 中进行按性别分层的加权逻辑回归分析的建议。

对于我的主要非分层分析,我生成了逆概率权重 (invp) 并运行加权逻辑回归,如下所示:

complete_cases_weighted <- svydesign(id=~1, weights=~invp, data=complete_cases)
svyglm(outcome ~ exposure, design=complete_cases_weighted, family="binomial")

我现在想基本上重新运行此分析两次,一次仅针对女性,一次仅针对男性。

正确加权的最佳方法是什么?我是否要重新执行生成权重和运行加权逻辑回归的整个过程,将我的数据分成男性和女性?或者我可以用svydesign/svyglm 做一些花哨的步法来做到这一点?

【问题讨论】:

  • 这似乎是一个统计问题,所以它可能更适合stats.stackexchange.com
  • 抱歉,澄清一下 - 我很清楚这背后的统计数据,我只是想了解在 R 中编码的最佳方式。本质上,我是否必须重复现有的权重在数据子集上生成和分析代码,或者 svydesignsvyglm 是否具有处理此问题的内置功能。

标签: r logistic-regression survey


【解决方案1】:

来自?svyglm

library(survey)
data(api)
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
summary(svyglm(api00~ell+meals+mobility, design=dstrat))

循环遍历sch.wide的所有级别

for( this_value in unique( apistrat$sch.wide ) ){

    print( this_value )
    print( summary(svyglm(api00~ell+meals+mobility, design=subset(dstrat,sch.wide== this_value ))))

}

【讨论】:

  • 一个很好的解决方案。感谢您解释使用子集的细微差别。唯一奇怪的是和结果不符svyby(formula = api00 ~ ell + meals + mobility, by = ~ sch.wide, design = dstrat, FUN = svyglm)
  • @YuriySaraykin 是的,svyby 的输出更加简洁
猜你喜欢
  • 2021-04-26
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多