我正在尝试使用负二项式模型来模拟影响R中宿主的寄生虫的平均强度。我不断收到50则警告,内容是:
In dpois(y, mu, log = TRUE) : non-integer x = 251.529000
我该如何处理?我的代码如下所示:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)
我正在尝试使用负二项式模型来模拟影响R中宿主的寄生虫的平均强度。我不断收到50则警告,内容是:
In dpois(y, mu, log = TRUE) : non-integer x = 251.529000
我该如何处理?我的代码如下所示:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)
Answers:
负二项式是计数数据的分布,因此您确实希望您的响应变量为计数(即非负整数)。就是说,考虑“不同的抽样工作”是适当的(我不知道您指的是什么,但是我明白了要点)。但是,您不应尝试通过将计数除以另一个数字来做到这一点。相反,您需要使用该其他数字作为offset。关于CV的偏移量,这里有一个很好的讨论:什么时候在Poisson回归中使用偏移量? 我的猜测是您的模型应该是这样的:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season + offset(log(num.hosts)),
data=MI.df)
cbind()
。
这是警告,不是致命错误。glm.nb()期望将计数作为结果变量(整数)。您的数据不是整数:251.529。
R说道:“嗯...您可能想检查一下,确保没问题,因为看起来可能不合适。” 如果我的记忆正确,SPSS不会发出这样的警告。
如果您确定使用的模型正确,即使您没有整数,也请忽略它并继续进行。
我是生态寄生虫学家..您应该通过将被寄生的宿主与未被寄生的宿主绑定在一起,然后使用二项分布来处理此问题。.请参见以下代码。
我也从来没有使用过一个不超过一个y变量的glm。所以可以说,您要看被寄生的幼虫:您将拥有#个健康的幼虫和#个被寄生的幼虫。
可以说:Lh和Lp
所以举个例子
parasitizedL = cbind(Lp,Lh)hist(parasitized)#我猜你可以使用正态二项分布w / glm ..并且可能不需要负二项式模型PLarvae1 = glm(parasitizedL〜B.type + Month + Season, family = binomial,data = MI.df)