我试图在R中为负二项式回归模型(glm.nb)绘制交互效应。因变量会议是数字的。变量EU为二分法,变量"type“为范畴1/2/3。
glmnbmodel <- glm.nb(meetings ~ EU + type + EU*type, data = data)
我尝试使用以下命令进行绘图:interplot(m = glm.nb, var1 = "meetings", var2 = "type")
这就产生了这个错误:
> interplot(m = glmnbmodel, var1 = "EU", var2 = "type")
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘sim’ for signature ‘"negbin"’我对glm模型做了同样的尝试,其中R不识别模型中的交互:
> glmmodel <- glm(meetings ~ EU + type + EU*type, data = data)
> interplot(m = glmmodel, var1 = "EU", var2 = "type")
Error in interplot.default(m = glmmodel, var1 = "EU", var2 = "type") :
Model does not include the interaction of EU and type .我做错了什么?
我已经坚持了很长一段时间了,所以任何帮助都是最感谢的!
发布于 2021-07-25 09:43:15
您没有正确地指定公式。~EU*type将意味着~ EU + type + EU:type和R将纠正这一情况,但对于包interplot,最有可能的是寻找交互术语,因此您可以这样做:
set.seed(111)
data = data.frame(meetings = rnbinom(100,mu=10,size=1),
EU=rbinom(100,1,0.5),
type = factor(sample(1:3,100,replace=TRUE)))
glmmodel <- glm(meetings ~ EU + type + EU:type, data = data,family="poisson")
interplot(m = glmmodel, var1 = "EU", var2 = "type")

对于负二项式,您可以首先拟合一个模型,得到θ估计并在glm中调用它,如下所示:
fit <- glm.nb(meetings ~ EU + type + EU:type, data = data)
glmnbmodel <- glm(meetings ~ EU + type + EU:type, data = data,
family = negative.binomial(fit$theta))
interplot(m = glmnbmodel, var1 = "EU", var2 = "type")

https://stackoverflow.com/questions/68328671
复制相似问题