如何从交互作用项中提取边际效应?

时间:2019-09-06 04:18:36

标签: r marginal-effects

我正在尝试从一个交互术语中提取边际效应,该术语捕获了经过处理的X对X(X编码为1或0)对结果Y(Y编码为-10到10)的影响。通过变量A(A编码在0到10之间)。但是,我不确定如何以最高和最低的A度量从交互项中提取边际效应。

 m<-lm(Y~ X*A, data = combined)

总体而言,我设法使用插值函数生成了边际效应图:

interplot(m = m, var1 = "X", var2 = "A", ci = 0.90)+
  ylab("X")+
  xlab("A")+
  theme_bw()+
  ggtitle("Figure 1. Effect of X on Y Moderated by A")+
  theme(plot.title = element_text(face = "bold"))+
  geom_hline(yintercept = 0, linetype = "dashed")

另外,我尝试使用ggpredict提取不同A级别下具有90%置信区间的边际效应:

margin1<- ggpredict(m, c ("X", "A"), ci = 0.90)

margin1

但是,使用ggpredict产生的边际系数与我在m的摘要中看到的不符,也不与边际效应图一致。相反,我得到的估计显然不准确或不准确。如何提取交会图中所见的边际效应?

1 个答案:

答案 0 :(得分:0)

不幸的是,由于您没有提供示例数据,因此这是使用R内置state.x77数据集的一个最小示例。

fit <- lm(Income ~ Illiteracy * Murder, data = as.data.frame(state.x77))

我们对IlliteracyIncome的边际影响感兴趣

library(sjPlot)
plot_model(fit, type = "int")

enter image description here

此处plot_model使用Murder的最小值和最大值作为分组级别(这是默认行为,请参见Plotting linteraction effects of Regression Models vignette for details)。