问题::mediate
包示例代码的mediation
函数为治疗组和对照组提供了不同的输出,但是我无法自己复制数据。
尝试:我尝试在选项中指定treat = "Group"
以及control.value = 0
和treat.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
问题:我不确定我是否理解正确,但是调解功能是否仅会通过对照/治疗后的中频提供输出,并且仅在治疗与调解者之间存在相互作用时才能提供?在这种情况下,解释有何不同?