0

我试图从一个交互式术语中提取边际效应,该术语捕获治疗 X(X 编码为 1 或 0)对结果 Y(Y 编码为 -10 到 10)的影响,由变量 A 调节(A 编码在 0 到 10 之间)。但是,我不确定如何从 A 的最高和最低度量的交互项中提取边际效应

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

总的来说,我设法使用 interplot 函数生成边际效应图:

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 的摘要中看到的不一致,并且与边际效应图不一致。相反,我得到的估计显然不准确或不精确。如何提取插值图中看到的边际效应?

4

1 回答 1

0

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

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

我们对Illiteracyon的边际效应感兴趣Income

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

在此处输入图像描述

这里plot_model使用 的最小值和最大值Murder作为分组级别(这是默认行为,有关详细信息,请参阅 Plotting linteraction effects of Regression Models vignette)。

于 2019-09-06T05:37:28.420 回答