如何解决如何创建具有交互作用的负二项式回归模型的交集?
我试图在 R 中绘制负二项式回归模型 (glm.nb) 的交互效应。因变量会议是数字。变量 EU 是二分的,变量“类型”是分类的 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,var2 = "type")
Error in interplot.default(m = glmmodel,var2 = "type") :
Model does not include the interaction of EU and type .
我做错了什么?
- 否则如何在负二项式回归模型中绘制交互作用?
- 为什么 R 在模型中找不到交互?
我已经坚持了很长一段时间,所以非常感谢任何帮助!
解决方法
您没有正确指定公式。 ~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")
对于负二项式,您可以先拟合模型以获得 theta 估计值并在 glm
内调用它,如下所示:
fit <- glm.nb(meetings ~ EU + type + EU:type,data = data)
glmnbmodel <- glm(meetings ~ EU + type + EU:type,family = negative.binomial(fit$theta))
interplot(m = glmnbmodel,var2 = "type")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。