中介变量(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,本章完了,文章有点短,主要是最近太忙了。