R语言基于mediation包行中介效应分析(2)

中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量。我们既往已经介绍了《R语言基于mediation包行中介效应分析分析》,后台有粉丝问自变量、中介变量、因变量都是分类变量怎么做中介效应。今天我们来介绍一下
在这里插入图片描述
今天使用的是一个学生数据,回复(学生数据,可以获得数据),我们先导入数据看一下

library(mediation)
student<-read.csv("E:/r/test/student.csv",sep=',',header=TRUE)

在这里插入图片描述
SCH_ID: 学校指标,fight:是否在学校打架,attachment:是否喜欢学校,work: 兼职工作的指标变量。 1 = 工作,late: 学生上学迟到的频率,5个级别,coed: 男女同校的指标变量。 1 = 男女同校,smorale: 衡量学校学生的士气,4级,gender: 性别的指标变量。 1 = 女性,income: 家庭总收入,13个级别,free: 学生获得免费午餐的百分比,1到7级,pared: 父母受教育程度,8 级,catholic:是否是天主教学校。
我们想分析一个学校是否是天主教学校,是否影响学生打架的可能。假设天主教学校可以增加学生对学校的依恋(attachment),降低打架可能,起到中介的因果机制起作用。
这里需要是使用lme4包对变量进行广义线性混合效应模型拟合(GLMM)

library(lme4)
med.fit <- glmer(attachment ~ catholic + gender + income + pared + (1|SCH_ID),
                 family = binomial(link = "logit"), data = student)
out.fit <- glmer(fight ~ catholic*attachment +gender + income + pared + (1 + attachment|SCH_ID),
                 family = binomial(link = "logit"), data = student)

然后调用mediate函数进行分析

med.out <- mediate(med.fit, out.fit, treat = "catholic", mediator = "attachment",sims = 100)
summary(med.out)

在这里插入图片描述
中介效应、直接效应和总效应均小于0.05。结果表明,天主教学校增加了个人层面的中介效应(依恋),降低了学生打架的可能性,起到了中介作用。
OK,本章完了,文章有点短,主要是最近太忙了。

一、下载和存放位置 请大家下载后,放到 ado/base/s 这个文件夹下,到时候才可以自动调取命令 二、相关命令 中介效应命令: sgmediation y, mv() iv() cv() 中介效应+自抽样命令: bootstrap r(ind_eff) r(dir_eff),reps(1000) : sgmediation y, mv() iv() cv() estat bootstrap,percentile bc 三、仍然出现r(ind_eff)' evaluated to missing in full sample r(322);错误 我仔细研究了一下中介效应的原理和计算方式,所以才之前ado包的基础上发现了这个能跑出来的结果。这里,针对下载包之后仍出不来结果的情况解释一下 1,在下载我这个包之前,下载过其他sgmediation的包,造成冲突,跑不出来结果 解决办法:改动三个地方,把时光,sgmediation变成sgmediation1 (1)sgmediation命令包的文件名 (2)ado包按照do文件的方式打开,将第12行programme define 后面改成 sgmediation1 (3)调用命令时 bootstrap冒号后面也改成sgmediation 原理:之前你下载了别的ado包,已经有个叫张三(sgmediation)的了,你喊张三,只能出来张三,现在通过改命令,变成张三1(sgmediation1),就实现了成功调用命令 2,下载了很多个包,搞混了 解决办法:我的包有几个明显特征,可以自行查验(1)最开始的命令更新有一堆,一直到version1.11 (2)第35行local avar的暂元计算时,(_se[‘iv’])^2 标准误打了括号之后再求的平方 (3)最后计算单值时,有return scalar ind_eff 和dir_eff,也就是间接效应和直接效应
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值