R语言基于mediation包行中介效应分析
中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量。我们既往已经介绍了SPSS行中介效应分析,今天继续介绍R语言基于mediation包行中介效应分析。
我们先导入数据和R包
library(mediation)
bc<-read.csv("E:/r/test/yimin.csv",sep=',',header=TRUE)
我们先来看看数据,这是一个关于移民的数据(公众号回复:移民数据,可以获得数据),数据很多,我们来看看我们关心的几个数据。
Emo:焦虑状态,通过量表来评分,treat:治疗,分为有治疗和未治疗,age:年龄,educ:教育程度,gender:性别,income:收入,cong_mesg:发送移民信息,二分类变量,也是结局变量
假设我们想知道,我们可以不可以通过治疗来改变患者的焦虑状态,从而改变患者移民这一举动。
先建立焦虑和治疗的方程,因为焦虑指标为连续的,这里使用lm连接
med.fit <- lm(emo ~ treat + age + educ + gender + income, data = bc)
然后建立结局变量,中介变量和自变量关系方程
out.fit <- glm(cong_mesg ~ emo + treat + age + educ + gender + income,data = bc, family = binomial("probit"))
行中介效应分析,treat填自变量,mediator填中介变量,robustSE为显示可信区间,sims为重复100次,也可以自己调整
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo",robustSE = TRUE, sims = 100)###treat填自变量,mediator填中介变量
解析结果
summary(med.out)
我们可以看到总效应等于中介效应+直接效应。直接效应P值大于0.05,表明直接效应影响不大,自变量主要是通过中介效应影响结局,也就是移民。
进一步绘图
plot(med.out)
由上图也可以看出,ADE的影响很小,主要是通过ACME来影响。
接下来我们进一步做敏感性分析
sens.out <- medsens(med.out, rho.by = 0.1, effect.type = "indirect", sims = 100)
summary(sens.out)
上图标出了rho,可信区间和R方,
par(mfrow = c(1,2))
plot(sens.out, sens.par = "rho", main = "Anxiety", ylim = c(-0.2, 0.2))
Y表示中介效应值,X表示敏感度关于rho。虚线表示rho=0的时候,就是没有混杂效应的时候。红线表示混杂效应导致中介效应消失时rho的值(有点拗口,自己体会一下),因此得出rho的绝对值越高,中介效应越可靠。
我们还可以做出R方的图,R方的解释与其他模型R方的解释是一样的。
plot(sens.out, sens.par = "R2", r.type = "total", sign.prod = "positive")
总的来说mediation包行中介效应分析挺简单的。
参考文献:
Imai, Kosuke, Luke Keele and Dustin Tingley (2010) A General Approach to Causal Mediation Analysis, Psychological Methods 15(4) pp. 309-334.
Imai, Kosuke, Luke Keele and Teppei Yamamoto (2010) Identification, Inference, and Sensitivity Analysis for Causal Mediation Effects, Statistical Sciences, 25(1) pp. 51-71.
Imai, Kosuke, Luke Keele, Dustin Tingley, and Teppei Yamamoto. (2009) “Causal Mediation Analysis Using R” in Advances in Social Science Research Using R, ed. H. D. Vinod New York: Springer.
Forthcoming.
R语言基于mediation包行中介效应分析相关推荐
- R语言基于mediation包行中介效应分析(2)
中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量.我们既往已经介绍了<R语言基于mediat ...
- 基于stata的medsens包进行中介效应分析
中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量.我们既往已经介绍了SPSS和R语言行中介效应分析 ...
- R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型
R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型 目录 R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型
- R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等
R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录
- R语言基于DALEX包进行特征筛选(feature selection)
R语言基于DALEX包进行特征筛选(feature selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为"特征"(featu ...
- R语言使用MatchIt包进行倾向性匹配分析、使用match.data函数构建匹配后的样本集合、使用可视化分析检验倾向性评分匹配后样本中的所有协变量的平衡情况
R语言使用MatchIt包进行倾向性匹配分析.使用match.data函数构建匹配后的样本集合.使用可视化分析检验倾向性评分匹配后样本中的所有协变量的平衡情况 目录
- R语言使用MatchIt包进行倾向性匹配分析(设置匹配方法为nearest,匹配倾向性评分最近的对照组和病例组,1:1配比)、使用match.data函数构建匹配后的样本集合
R语言使用MatchIt包进行倾向性匹配分析(设置匹配方法为nearest,匹配倾向性评分最近的对照组和病例组,1:1配比).使用match.data函数构建匹配后的样本集合 目录
- R语言使用MatchIt包进行倾向性匹配分析、使用match.data函数构建匹配后的样本集合、通过分析不同分组对应的协变量的均值来判断倾向性评分匹配后样本中的所有协变量的平衡情况
R语言使用MatchIt包进行倾向性匹配分析.使用match.data函数构建匹配后的样本集合.通过分析不同分组对应的协变量的均值来判断倾向性评分匹配后样本中的所有协变量的平衡情况 目录
- R语言基于Matching包进行倾向评分匹配(PSM)
倾向评分匹配(Propensity Score Matching,简称PSM)是一种统计学方法,用于处理观察研究(Observational Study)的数据,在SCI文章中应用非常广泛.在观察研究 ...
最新文章
- UNICODE编码细节与个人使用总结
- 【DIY】可能是最简单粗暴、省钱省电的家用温湿度计解决方案
- ecshop 快速添加会员
- lua php 触摸精灵,lua程序设计主要学习路径
- 解决小目标检测问题的几个途径
- 记录通用权限管理系统组件使用心得体会,写技术博客赢IPad2
- mysql update emp set_Mysql数据库性能优化一
- 全新第二代至强,凌动 P5900……英特尔四款 5G 新利器开启 2020 开门红!
- :hover 鼠标悬浮时(基本导航)
- sitemesh 2.4 装饰器学习
- 关于WP7上音乐播放的嫉妒恶心的一些规则和解决方案。
- iOS 本地推送以及自定义推送声音
- 浅谈Vue 中的 computed 和 methods 的使用
- 怎么引流推广?10种有效引流吸粉方法
- 阿里云IoT:控制掌控板板载灯亮灭
- 电脑有独显内存还被占用_内存条:独立显卡显存,正式再见
- 50欧姆线设计 高频pcb_高频PCB设计:射频电路的布局的走线
- ENVOY的首个 NFT 发行版“Decentraboard”数小时内售罄
- kafka-分区重分配及相关源码分析
- Linux 命令 wc / awk