R语言如何进行中介分析?

您好,想请教一下中介变量是二分类变量,其他的都是连续性变量。可以用R做中介效应分析吗。做出来的结果无法解读怎么办?

如果你的中介变量是二分类变量,也就是说它只有两个可能的取值,比如是或否,男或女,成功或失败等,那么你可以用 logistic 回归模型来建立自变量和中介变量之间的关系,以及中介变量和因变量之间的关系。logistic 回归模型是一种广义线性模型,它可以处理因变量是二分类或者多分类的情况。在 R 语言中,你可以用 glm 函数来拟合 logistic 回归模型,指定 family 参数为 binomial 即可。

假设你的自变量是 X,因变量是 Y,中介变量是 M,那么你可以用以下代码来拟合 logistic 回归模型:

拟合自变量对中介变量的模型

fit1 <- glm(M ~ X, data = your_data, family = binomial)

拟合中介变量对因变量的模型

fit2 <- glm(Y ~ X + M, data = your_data, family = binomial)

拟合好模型后,你可以用 mediation 包中的 mediate 函数来进行中介效应分析。这个函数可以计算中介效应的大小、方向、置信区间和显著性水平。你需要指定以下参数:

x: 自变量的名称
m: 中介变量的名称
y: 因变量的名称
treat: 自变量对中介变量的回归模型
mediator: 中介变量对因变量的回归模型
boot: 是否使用 bootstrap 方法来估计置信区间
例如:

进行中介效应分析

result <- mediate(x = "X", m = "M", y = "Y", treat = fit1, mediator = fit2, boot = TRUE)

得到结果后,你可以用 summary 函数来查看结果的摘要。你会看到以下几个重要的输出:

ACME: 平均因果中介效应 (Average Causal Mediation Effect),也就是自变量通过中介变量对因变量产生的影响大小。
ADE: 平均直接效应 (Average Direct Effect),也就是自变量直接对因变量产生的影响大小,不经过中介变量。
Total Effect: 总效应 (Total Effect),也就是自变量对因变量产生的总体影响大小,包括直接效应和中介效应。
Prop. Mediated: 中介效应占比 (Proportion Mediated),也就是中介效应在总效应中所占的比例。
例如:

查看结果摘要

summary(result)

Causal Mediation Analysis

Quasi-Bayesian Confidence Intervals

           Estimate 95% CI Lower 95% CI Upper p-value    

ACME 0.1234 0.0987 0.1481 0.001 ***
ADE 0.2345 0.1890 0.2800 0.001 ***
Total Effect 0.3579 0.3123 0.4035 0.001 ***
Prop. Mediated 0.3451 0.2876 0.4026 0.001 ***

Sample Size Used: 1000

Simulations: 1000

从上面的结果可以看出,中介效应、直接效应和总效应都是显著的,中介效应占总效应的 34.51%。这说明自变量通过中介变量对因变量有显著的影响,但这种影响并不是完全的,自变量还有直接对因变量产生影响的部分。

感谢官方邀请,可以看我这篇文章
https://blog.csdn.net/dege857/article/details/130075196?spm=1001.2014.3001.5501