R语言实现中介分析(1)-非生存资料

中介分析,也称为介导分析,是统计学中的一种方法,它用于评估一个或多个中介变量(也称为中间变量)在自变量和因变量之间关系中所起的作用。换句话说,中介分析用于探索自变量如何通过中介变量影响因变量的机制。

虽然中介效应的存在可能意味着某种因果关系机制,但它并不能直接证明因果关系。因此,在解释中介分析结果时,需要考虑其他可能的解释和变量之间的关系。

#Mediatoion analysis
#install.packages("mediation")
help(package="mediation")
library(mediation)
data(jobs)
#线性结果和中介模型
b <- lm(job_seek ~ treat + econ_hard + sex + age, data=jobs)#这个模型用treat(治疗或干预变量)、econ_hard(经济困难)、sex(性别)和age(年龄)来预测job_seek(求职)。
c <- lm(depress2 ~ treat + job_seek + econ_hard + sex + age, data=jobs)#这个模型用相同的变量treat、econ_hard、sex和age,以及job_seek(现在作为中介变量)来预测depress2(抑郁程度)。
# Estimation via quasi-Bayesian approximation
contcont <- mediate(b, c, sims=50, treat="treat", mediator="job_seek")#这个模型用相同的变量treat、econ_hard、sex和age,以及job_seek(现在作为中介变量)来预测depress2(抑郁程度)。
summary(contcont)#查看中介分析的结果摘要。这个摘要通常包括中介效应的估计值、标准误、置信区间,以及直接效应和间接效应(通过中介变量的效应)的估计。
plot(contcont)#绘制中介分析的结果图
#ACME (Average Causal Mediation Effect): 这是中介变量(在这里是job_seek)的平均因果中介效应,表示处理变量(treat)通过中介变量对结果变量(depress2)的间接影响。
#ADE (Average Direct Effect): 这是处理变量对结果变量的直接效应,即在控制中介变量后的效应。
#Total Effect: 这是处理变量对结果变量的总效应,即直接效应和间接效应之和。

这个因果中介分析的结果提供了关于中介变量效应的一些重要估计和置信区间。以下是对结果的解读:

ACME (Average Causal Mediation Effect):
估计值(Estimate)为 -0.0167,这意味着中介变量(可能是求职行为job_seek)平均而言在处理变量(treat)和结果变量(抑郁程度depress2)之间产生了负的间接效应。换句话说,处理通过中介变量减少了抑郁程度,但这一效应相对较小。

95%置信区间(95% CI Lower 和 95% CI Upper)为 [-0.0360, 0.00],这意味着我们不能排除ACME为零的可能性,因为零包含在这个区间内。

p-值为0.20,说明ACME的估计值在统计上并不显著,即我们不能有充足的证据认为中介变量产生了显著的间接效应。

ADE (Average Direct Effect):
估计值为 -0.0424,表示处理变量对结果变量的直接效应(即控制中介变量后的效应)是负的,但同样相对较小。

95%置信区间为 [-0.1042, 0.03],这个区间包括零,因此直接效应在统计上并不显著。

p-值为0.40,进一步支持了直接效应不显著的观点。

Total Effect:
估计值为 -0.0591,表示处理变量对结果变量的总效应是负的。

95%置信区间为 [-0.1294, 0.02],这个区间也包括零,因此总效应在统计上并不显著。

p-值为0.20,与ACME的p-值相同,进一步表明我们没有足够的证据认为总效应是显著的。

Prop. Mediated (Proportion Mediated):
这是中介效应占总效应的比例。估计值为 0.2152,意味着中介变量解释了约21.52%的总效应。但由于置信区间为 [-0.7867, 1.86],这个比例非常不确定,且包括负数,因此我们不能得出关于中介效应比例的具体结论。

p-值为0.24,表明这个比例在统计上并不显著。

Sample Size Used:
分析使用的样本大小为899,这是一个相对较大的样本,通常可以提供较为稳定的估计,但在这里由于效应本身可能较小或不存在,因此即使样本量相对较大,我们仍然不能得出显著的结论。

Simulations:
分析过程中使用了50次模拟来估计标准误和置信区间。模拟次数是一个相对较小的数字,但根据具体情境和计算资源,这可能是一个合理的选择。增加模拟次数可能会提供更准确的估计,但也会增加计算时间。

综上所述,这个因果中介分析的结果并没有提供足够的证据来支持中介变量(job_seek)在处理变量(treat)和结果变量(depress2)之间产生了显著的间接效应。同时,直接效应和总效应也都不显著。因此,我们不能基于这些结果得出关于中介效应存在或重要性的明确结论。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
R语言中进行分类变量中介分析,可以使用"mediation"包。具体步骤如下: 1. 安装和加载"mediation"包。 ``` install.packages("mediation") library(mediation) ``` 2. 进行自变量和中介变量之间的logistic回归,得到中介变量的系数和p值。 ``` fit.m1 <- glm(medvar ~ iv, data = data, family = binomial()) summary(fit.m1) ``` 其中,medvar为中介变量,iv为自变量,data为数据集。 3. 进行因变量和中介变量之间的logistic回归,得到因变量在中介变量控制下的系数和p值。 ``` fit.m2 <- glm(outcome ~ medvar + iv, data = data, family = binomial()) summary(fit.m2) ``` 其中,outcome为因变量,medvar和iv为中介变量和自变量,data为数据集。 4. 进行因变量和自变量之间的logistic回归,得到自变量的系数和p值。 ``` fit.y <- glm(outcome ~ iv, data = data, family = binomial()) summary(fit.y) ``` 其中,iv为自变量,outcome为因变量,data为数据集。 5. 计算中介效应和置信区间。 ``` med.out <- mediate(fit.m1, fit.m2, treat = "iv", mediator = "medvar", robustSE = TRUE) summary(med.out) ``` 其中,fit.m1和fit.m2分别为中介效应模型和完全模型,treat为自变量,mediator为中介变量。上述命令会输出中介效应和置信区间的估计值,以及各个路径的回归系数和显著性检验结果。 需要注意的是,"mediation"包还提供了其他的中介分析方法,如多重中介分析线性中介分析等。具体使用方法可以参考其官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值