1. 中介效应分析基础概念
中介效应分析是社会科学和医学研究中常用的统计方法,它帮助我们理解自变量(X)如何通过中介变量(M)影响因变量(Y)的机制。想象一下,你发现喝咖啡(X)能提高工作效率(Y),但这是否是因为咖啡因让人更清醒(M)呢?这就是典型的中介效应问题。
在R语言中,mediation包是最常用的中介分析工具之一。它支持多种模型类型,包括线性模型、广义线性模型和混合效应模型。对于分类变量,我们需要特别注意以下几点:
- 变量类型:自变量、中介变量和因变量都可以是分类变量(如二分类、有序多分类)
- 模型选择:通常使用广义线性模型(如logistic回归)
- 效应分解:总效应=直接效应+间接效应(中介效应)
2. 数据准备与预处理
2.1 数据导入与探索
让我们使用一个教育研究的示例数据集,分析学校类型(天主教/非天主教)是否通过学生对学校的依恋程度影响校园暴力发生率。首先加载必要的包和数据:
library(mediation)
library(lme4) # 用于GLMM模型
student <- read.csv("student.csv", header=TRUE)
查看数据结构:
str(student)
关键变量说明:
catholic: 学校类型(1=天主教,0=非天主教)attachment: 学生对学校的依恋(1=喜欢,0=不喜欢)fight: 是否打架(1=是,0=否)SCH_ID: 学校ID(用于混合效应模型)
2.2 分类变量处理
对于分类变量,R会自动处理为因子(factor)。但建议显式转换以确保分析正确:
student$catholic <- as.factor(student$catholic)
student$attachment <- as.factor(student$attachment)
student$fight <- as.factor(student$fight)
3. 模型构建与估计
3.1 构建中介模型
我们需要构建两个模型:
- 中介变量模型:attachment ~ catholic + covariates
- 结果变量模型:fight ~ catholic + attachment + covariates
使用广义线性混合模型(GLMM)处理学校层面的聚类效应:

4万+

被折叠的 条评论
为什么被折叠?



