首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何建立具有交互效应的负二项式回归模型?

如何建立具有交互效应的负二项式回归模型?
EN

Stack Overflow用户
提问于 2021-07-10 14:36:50
回答 1查看 339关注 0票数 0

我试图在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")

这就产生了这个错误:

代码语言:javascript
复制
> 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不识别模型中的交互:

代码语言:javascript
复制
> 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 .

我做错了什么?

  1. 如何在负二项式回归模型中绘制交互效应?
  2. 为什么R找不到模型中的相互作用?

我已经坚持了很长一段时间了,所以任何帮助都是最感谢的!

EN

回答 1

Stack Overflow用户

发布于 2021-07-25 09:43:15

您没有正确地指定公式。~EU*type将意味着~ EU + type + EU:type和R将纠正这一情况,但对于包interplot,最有可能的是寻找交互术语,因此您可以这样做:

代码语言:javascript
复制
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中调用它,如下所示:

代码语言:javascript
复制
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")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68328671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档