首页 > 解决方案 > R epiDisplay 软件包和其他流行病学软件包不适用于调查加权 glm?

问题描述

我正在使用 R Studio 并拥有来自使用分层、权重和嵌套的调查的数据。因此,我使用library(survey)svydesign 设置了一个 svydesign,然后使用 svyglm 使用所述 svydesign 完成所需的逻辑回归(保存为 output2)。

当我尝试library(epiDisplay)在 R 上使用 或任何其他流行病学软件包时,我收到以下错误:

逻辑显示(输出2)逻辑显示(输出2)中的错误:模型不是来自逻辑回归

该软件包适用于使用 glm 而不是 svyglm 的回归结果。我如何结合我的调查设计并仍然获得流行病学结果?有没有可以同时做这两个的包?

编辑

免费数据示例(仅用于示例目的):NHANES 2011-2012 溴化阻燃剂 (BFR) - 血清 - 混合样品 (BFRPOL_G)。

可在此处下载:https ://wwwn.cdc.gov/Nchs/Nhanes/2011-2012/BFRPOL_G.XPT

下载后,设置库(调查),并创建

    BROM <- svydesign(id =new$SDMVPSU, strata = new$SDMVSTRA, weights = 
    new$WTSMSMPA, nest = TRUE, data = BFRPOL_G)

现在(无意义的)回归,但它仍然证明了问题:

output2<-svyglm(RIAGENDR~RIGAGGRP+LBDBR66C, family = binomial, data=BFRPOL_G, design = BROM, maxit=100)

library(epiDisplay)
logistic.display(output2)

结果?

> logistic.display(output2)
> Error in logistic.display(output2) : Model not from logistic regression

这里还有另一个 Stack Exchange 问题/答案(Edward 提供的页面底部):https ://stats.stackexchange.com/questions/8661/logistic-regression-in-r-odds-ratio 显示了 EpiDesign 的简洁程度包可以显示结果。

通过逻辑回归,它可以提供粗 OR & 95% CI、调整后的 OR & 95% CI、Wald 检验和 LR 检验。它还显示了观察次数和 AIC。

如果没有这个包,我不知道如何从我的回归中获取所有这些信息。还有其他流行病学图书馆,但我不知道有哪一个可以让我纳入调查权重/设计。

标签: rglmsurvey

解决方案


里面的代码logistic.display

    if (length(class(model)) == 1) {
        stop("Model not from logistic regression")
    }
    if (class(model)[1] != "glm" | class(model)[2] != "lm" | 
        model$family$family != "binomial") {
        stop("Model not from logistic regression")
    }

所以它故意排除仅继承自的对象glm。您可能必须联系epiDisplay包作者 - 可能是该函数本质上无法处理具有抽样权重的逻辑回归,或者可能是作者没有足够的想象力。


推荐阅读