我使用glmmTMB运行了一组23个模型。 (我已将模型设置为list
,示例代码如下所示)
cand.models<-list()
cand.models[[1]]<-glmmTMB(count~depth + slope + SST + (1|individual), family=list(family="truncated_nbinom1", link="log"), data=df)
cand.models[[2]]<-glmmTMB(count~depth + slope + (1|individual), family=list(family="truncated_nbinom1", link="log"), data=df)
我想创建一个汇总表,为cand.models
中包含的每个模型提供偏差。我尝试使用broom::glance()
,它应该创建一个&#34;一行&#34;摘要包括偏差,以及AIC和BIC等。
summ.table<-do.call(rbind, lapply(cand.models, broom::glance))
但是,输出不包括模型偏差! (它只包括sigma,logLik,AIC,BIC和df.residual)。有谁知道为什么它没有提供偏差(也许是glmmTMB特有的问题?)。或者,是否有人有一个替代解决方案来提取偏差?
答案 0 :(得分:3)
跟进评论:"master" version of broom
并未包含glance
个glmmTMB
模型的方法,这意味着glance
不适用于{ {1}}模型。
您使用的glmmTMB
版本是forked Ben Bolker (bbolker)版本,他为broom
添加了一个适用于glance
的新glmmTMB
方法模型对象。但是,此glance
方法在输出中不包含deviance
。不过,自deviance = -2*log(likelihood)
起,您可以执行以下操作:
summ.table$deviance = -2 * summ.table$logLik