首页 > 解决方案 > 调解功能:如何通过“治疗/控制”进行输出?

问题描述

问题:包示例代码的mediate功能mediation为治疗组和对照组提供了不同的输出,但我无法用我自己的数据重现这一点。

尝试:我尝试在选项中指定treat = "Group", 以及control.value = 0treat.value = 1,将我的组因子更改为 0 和 1 虚拟代码,删除我的第三组以便只有两个,使用glm()而不是lm().

代码:

# Example code from package documentation
require("mediation")
require("sandwich")
data("framing")
med.fit <- lm(emo ~ treat + age + educ + gender + income, data = framing)
out.fit <- glm(cong_mesg ~ emo + treat + age + educ + gender + income, 
               data = framing, family = binomial("probit"))
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo",
                   robustSE = TRUE, sims = 50)
summary(med.out)

# Output (first lines only):
                          Estimate 95% CI Lower 95% CI Upper p-value    
ACME (control)             0.08070      0.02892         0.14  <2e-16 ***
ACME (treated)             0.08062      0.03015         0.13  <2e-16 ***
ADE (control)              0.00718     -0.08888         0.12    0.96    
ADE (treated)              0.00710     -0.10052         0.13    0.96    

但是例如,如果我从同一个数据集(p_harm而不是cong_mesg)中获取不同的(连续而不是逻辑)因变量,则输出不会被控制/处理分开,我担心我可能无法得到正确的每组解释在这种情况下:

out.fit <- glm(p_harm ~ emo + treat + age + educ + gender + income, 
              data = framing)
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo",
                   robustSE = TRUE, sims = 50)
summary(med.out)

# Output (first lines only):
               Estimate 95% CI Lower 95% CI Upper p-value    
ACME             0.5930       0.2056         0.95  <2e-16 ***
ADE             -0.2082      -0.5576         0.07    0.24    

问题:我不确定我是否理解正确,但调解功能是否只会提供对照/治疗 IF 的输出,并且只有在治疗和调解人之间存在交互时才提供输出?在这种情况下,解释有何不同?

标签: rmediator

解决方案


推荐阅读