负二项式回归中相互作用的简单斜率

时间:2014-06-06 00:06:30

标签: r regression interaction

我希望在将另一个预测变量约束为负二项式glm中的特定值时获取一个预测变量的参数估计值,以便更好地解释交互效应。

我的模型是这样的:

model <- glm.nb(outcome ~ IV * moderator + covariate1 + covariate2)

由于IV:moderator项很重要,我希望在IV的特定值(即+1和-1 SD)处获得moderator的参数估计值。我可以使用IV包在moderator的不同级别获得visreg的斜率估算值,但我不知道如何估算SE和测试统计数据。 moderator是一个连续变量,因此我无法使用multcomp包和其他用于查找简单斜率的包(例如pequodQuantPsyc)与负二项式不兼容回归。谢谢!

1 个答案:

答案 0 :(得分:2)

如果要约束回归中的某个值,请考虑将该变量从模型中取出并将其作为偏移量添加。例如,使用示例数据。

dd<-data.frame(
   x1=runif(50),
   x2=runif(50)
)

dd<-transform(dd, 
   y=5*x1-2*x2+3+rnorm(50)
)

我们可以使用x1x2作为参数运行模型

lm(y ~ x1 + x2,dd)

# Call:
# lm(formula = y ~ x1 + x2, data = dd)
# 
# Coefficients:
# (Intercept)           x1           x2  
#    3.438438     4.135162    -2.154770  

或者说我们知道x2的系数是-2。然后我们无法估算x2,但将该字词作为偏移量

lm(y ~ x1 + offset(-2*x2), dd)

# Call:
# lm(formula = y ~ x1 + offset(-2 * x2), data = dd)
# 
# Coefficients:
# (Intercept)           x1  
#    3.347531     4.153594 

offset()选项基本上只创建一个系数始终为1的协变量。尽管我已经使用lm进行了演示,但同样的方法应该适用于glm.nb和许多其他回归模型