目标:运行负二项分布的 GEE 来分析 R 中的数据集
这个问题被问了here ,但答案已经有大约 5 年历史了,我想知道是否有新的进展。我总结了我的数据,然后概述了我如何尝试寻找解决方案。
我的模型(使用泊松分布而不是使用 geeglm 包的负二项分布成功运行):
m1 <- geeglm(Diract ~ Dir*Rec + Year + offset(LnScan),
family = poisson("log"), data = Direct, id = ID, corstr = "exchangeable")
数据为here
Dirac:区间结果变量,从主管(B 或 C 组中的“Dir”)到接收者(A、B 或 C 组中的“Rec”)的行为计数。范围从 0 -4、过度分散。
Dir*Rec:兴趣的主要预测因子,两个因素(导演和接收者群体)的相互作用。动物属于 3 个组(生命阶段)之一:A、B、C。
年份:数据收集年份(2010、2011、2012)
目标族:具有对数链接功能的负二项式
在三年的研究期间,一些人 (~5) 在数据收集期间从一个群体过渡到另一个群体。我对每位董事都有多项措施(包括年内和之间)。例如,在整个研究期间都活着的个体在三年的研究中每年对 A、B 和 C 组的行为进行计数(总计 = 9 次)。有些人观察了三年,有些人只观察了一两年。
最初我在 SPSS 中使用 GEE,这是我不再使用的软件。在 SPSS 中,QIC 值表明负二项式比泊松更适合我的数据。
通过上面的 Stackoverflow 链接建议的解决方案 1:使用 library("sos")
和 findFn("{generalized estimatingequation}")
来在 R 中查找运行 GEE 的包。我检查了所有建议的 14 个软件包。 geepack
缺少负二项式族; Zelig
、JGEE
、伪
、aftgee
、etm
、wgeesel
、MmethylCapSig
和 miLineage
利用 geepack
。 MESS
、PGEE
、spind
和 Threeboost
缺乏负二项式,而 repolr
是仅适用于顺序结果。
解决方案2由 Ben Bolker 在 Nabble 上建议:“我会在 MASS 包中尝试 glmmPQL。我不认为你可以用这种方式完全得到负二项式回归,但你绝对可以得到一个拟泊松模型。我认为可以互换 相关性对应于 glmmPQL 命令中的correlation=corCompSymm()。”
我的错误消息尝试:
m2 <- glmmPQL(Diract ~ Dir*Rec + offset(LnScan) + Year,
random = ~ 1 | ID,
family = negative.binomial(1),
data = Direct,
correlation = corCompSymm(form=~1|ID))
Error in glmmPQL(Diract ~ DirPar * RecPar + offset(LnScan) + Year, random = ~1 | : could not find function "corCompSymm"
最佳答案
这些年来这个问题已经被问过很多次了,我是在遇到同样的问题并寻找答案几个小时后才遇到的。两种解决方案:
geeM
包允许使用负二项式族- 通过 R
reticulate
包导入 pythonstatsmodels
模块并调用 R 中的 gee 拟合函数,该函数允许负二项式族
关于r - 在 R 中使用 GEE 建模负二项分布数据有任何更新吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49089476/