泊松回归错误,log link 和因子作为结果

Error with Poisson regression with a log link and factor as outcome

我在尝试 运行 泊松回归 link = "log" 时遇到了一些问题:

model <- glm(formula = var1 ~ var2, 
              family = poisson(link = "log"), 
              data = a)

var1 是一个分类变量(class:因子),有两个类别:“有抑郁症”和“没有抑郁症”。 var2 是另一个具有四个年龄类别的分类变量(class:因子)。

此错误不断出现:

Error in if (any(y < 0)) stop("negative values not allowed for the 'Poisson' family") : 
missing value where TRUE/FALSE is necessary.
Warning message:
  In Ops.factor(y, 0) : '<' not meaningful for factors

当我用运行型号family = binomial时,问题没有出现。

正如评论所说,你的结果是二元的,所以你可能想坚持使用逻辑回归,或者使用 log link 的二项式回归。

但在某些情况下,使用二元结果的泊松回归是合适的。在这种情况下,您需要将结果重新编码为数字(0 对 1),因为在 R 泊松回归中不能使用因子作为结果。

要了解错误消息,泊松回归之前 R 将检查响应中的负值。但是有一个因素作为结果 y<0 returns NA,这会导致测试失败。