R语言| 中介效应分析,Mediation包和BruceR包,循环Process函数

本文介绍了使用R语言进行中介效应分析的方法,包括Mediation包和BruceR包的运用。通过对数据集的分析,展示了如何建立线性回归模型,以及如何利用BruceR包中的PROCESS函数自动化处理大量中介模型。结果表明,某些中介变量存在显著的中介效应,并提供了在Linux环境下整理分析结果的shell脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Brief summary

网上关于中介效应的资料挺多的,这里就不对原理进行过多解释。

简单来说,我们分析自变量 X 对因变量 Y 产生的影响,如果变量 X 通过影响变量 M 来影响变量 Y ,那么这个变量 M 就是中介变量。
例如租客 (X) 通过中介公司 (M) 找到合适的房子 (Y),中介公司就在其中扮演了中介变量的角色,中介变量发挥的作用就称为中介效应了。

对于该分析我个人有一个认知,就是X和Y必须有关联。这个关联可以是数据上的(correlation or association,calculated from statistical method)或者是学科上的(因为我的研究方向是疾病多组学,可以说是生物学上的关联)。
如果X和Y毫无关系,这个研究是否还有必要呢,这可能是值得思考的

这里分享几个可以帮助理解的链接:
https://zhuanlan.zhihu.com/p/376007591
https://www.jianshu.com/p/bdf084f42e80
https://www.docin.com/p-1622412323.html

在这里插入图片描述


中介效应的检验

参考来源中介效应检验程序及其应用,温忠麟,2004
这篇文章很好的介绍了中介效应的概念,站里好像就有,感兴趣的可以看一下~
在这里插入图片描述

分析方法

Mediation包

在网络上能看到最多的应该就是用mediation包进行的中介分析,简单好用

df<- read.csv('~/PD/PD分期/olink_sig_original.csv', check.names = F)
df[is.na(df)]<- 0 #补充NA数据,这一步看自我需求
#因子化我的分类变量
df$Gender<- as.factor(df$Gender)
df$Group<- as.factor(df$Group)

行为样本,列为变量

建立线性回归,我的X是CX3CL1, M是Meta52, Y是Group(二分类变量)

#建立线性回归,我的X是CX3CL1, M是Meta52, Y是Group(二分类变量)
a<- lm(Meta52 ~ CX3CL1+Age+Gender,df) #lm(M~X,df)
b<- glm(Group ~Meta52+CX3CL1+Age+Gender, df,family = binomial) #glm(Y~X+M)
#install.packages("mediation")
library(mediation)
set.seed(123) #保证结果可以复现
result = mediate(a,b
在R语言中进行回归分析PROCESS,需要准备R脚本perl脚本进行后台运行。首先,使用nohup命令将R脚本放到后台运行,并将结果输出到result.out文件中。其次,使用grep命令从result.out文件中提取关键信息,例如pvalue。然后,使用perl脚本进一步筛选出与indirect显著相关的组合,并将结果保存到result_sel_res.out文件中。 另外,如果想要在R语言中进行线性回归分析,可以使用lm函数建立线性回归模型。其中,X是自变量,M是中介变量,Y是因变量(二分类变量)。通过lm函数可以得到相关系数显著性检验结果。如果Y是二分类变量,可以使用glm函数进行逻辑回归分析,并设置family参数为binomial。建立线性回归模型逻辑回归模型后,可以使用mediation进行处理,通过设定treat参数为X,mediator参数为M,进行中介效应分析。最后,使用summary函数可以查看中介效应的结果。 总的来说,R语言中进行回归分析PROCESS可以分为以下步骤: 1. 准备R脚本perl脚本,使用nohup命令将R脚本放到后台运行,并将结果输出到文件中。 2. 使用grep命令从输出文件中提取关键信息。 3. 使用perl脚本筛选出与indirect显著相关的组合。 4. 使用lm函数建立线性回归模型,通过glm函数进行逻辑回归分析。 5. 使用mediation进行中介效应分析。 6. 使用summary函数查看中介效应的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [R语言| 中介效应分析MediationBruceR循环Process函数](https://blog.csdn.net/mocchan925/article/details/124007297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [结巴分词(支持词性标注)](https://download.csdn.net/download/qq_34859668/10855874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值