具有多个因素的零膨胀模型会给出错误消息

时间:2018-09-21 09:15:21

标签: r error-handling count zero

我有一个寄生虫计数的零膨胀数据集(零的47%),我想使用零膨胀模型进行分析。
这是数据框的伪造的简短版本。

hostsp <- sample(LETTERS[1:4], 100, replace=TRUE)
hostdiet <- sample(letters[24:26], 100, replace=TRUE, prob=c(0.5, 0.2, 0.3) )
sl <- runif(100, min=10, max=120)
nrparas <- sample(0:9, 100, replace=TRUE, prob=c(0.47,0.25,0.15,0.05,0.03,0.02,0.01,0.01,0.005,0.005) )

DF <- data.frame(hostsp, hostdiet, sl, nrparas, stringsAsFactors=T)

基本上,每行都是一个宿主个体,该宿主个体具有其饮食(hostdiet,嵌套),大小(sl)和感染它的寄生虫数量(nrparas)的宿主物种(hostsp)。

  hostsp hostdiet        sl nrparas
1      A        x  86.62092       0
2      A        y  92.23788       0
3      C        z  44.67148       2
4      D        x  41.82872       1
5      C        z 104.24964       0
6      D        x 117.51238       2


这是零膨胀模型:

zip1 <- zeroinfl(nrparas ~ hostsp*sl+hostdiet | hostsp*sl+hostdiet, data=DF)
summary(zip1)

但是当我运行模型时,我收到一条错误消息,并且模型没有运行。

Error in solve.default(as.matrix(fit$hessian)) : 
  system is computationally singular: reciprocal condition number = 1.03323e-36


在我的原始数据框中,如果我从ZI公式中删除了一些变量(尤其是宿主物种,这对我来说是最有趣的部分!),该错误就会消失

为什么我收到此错误消息?我该怎么解决?
非常感谢!

0 个答案:

没有答案