R epiDisplay 包和其他流行病学包不适用于调查加权 glm?



我正在使用R Studio,并且从使用分层,权重和嵌套的调查中获得数据。因此,我使用该library(survey)设置了一个 svydesign,然后使用 svyglm 使用所述 svydesign(另存为 output2(完成所需的逻辑回归。

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

物流显示(输出2( logistic.display(output2( 中的错误:模型不是来自逻辑回归

该包适用于使用 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

这里还有另一个堆栈交换问题/答案(页面底部由 Edward 提供(:https://stats.stackexchange.com/questions/8661/logistic-regression-in-r-odds-ratio 它显示了 epiDesign 包可以多么简洁地显示结果。

通过逻辑回归,它可以提供粗OR和95%CI,调整OR和95%CI,Wald测试和LR测试。它还显示观测值的数量和 AIC。

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

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包作者 - 可能是该函数本质上无法处理具有采样权重的逻辑回归,或者可能是作者没有足够的想象力。

相关内容

最新更新