当前位置:   article > 正文

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

r语言中介效应分析

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)
  • 1
  • 2
  • 3
  • 4
  • 5

行为样本,列为变量

建立线性回归,我的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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/912420
推荐阅读
相关标签
  

闽ICP备14008679号