我在使用link = "log"
运行泊松回归时遇到了一些问题。
model <- glm(formula = var1 ~ var2,
family = poisson(link = "log"),
data = a)
var1
是一个范畴变量(类别:因子),有两类:“有抑郁”和“没有抑郁”。var2
是另一个具有四个年龄类别的分类变量(class: factor)。
这个错误不断出现:
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
运行模型时,不会出现问题。
发布于 2022-04-21 11:17:32
正如评论所指出的那样,您的结果是二进制的,因此您可能希望坚持逻辑回归,或者使用日志链接进行二项式回归。
但在某些情况下,具有二元结果的Poisson回归是合适的。在这种情况下,您需要将结果重新编码为数字(0vs1),因为在R中,Poisson回归不能使用因素作为结果。
要理解错误信息,在Poisson回归R之前将检查响应中的负值。但是使用一个因素作为结果,y<0
返回NA
,这会导致测试失败。
https://stackoverflow.com/questions/71953242
复制相似问题