要在R语言中构建结构方程模型(Structural Equation Modeling,SEM),主要使用lavaan包(LAtent VAriable ANalysis)实现。以下是专业实现流程和关键内容扩展:

一、SEM模型实现步骤(基于lavaan包)
1. 安装与加载包:
install.packages("lavaan")
library(lavaan)
2. 定义模型语法:
使用lavaan语法规则指定:
- 潜在变量:用"=~"定义测量模型
- 回归路径:用"~"定义结构模型
- 协方差:用"~~"声明
示例:
model <- ' # 测量模型 认知能力 =~ 数学 + 逻辑 + 语言 学业成就 =~ 成绩 + 项目 # 结构模型 学业成就 ~ 认知能力 + 学习时间 # 残差协方差 数学 ~~ 逻辑 '
| 符号 | 含义 | 示例 |
|---|---|---|
| =~ | 潜在变量定义 | 潜变量 =~ 指标1 + 指标2 |
| ~ | 回归关系 | 因变量 ~ 自变量1 + 自变量2 |
| ~~ | 方差/协方差 | 变量1 ~~ 变量2 |
3. 模型拟合:
# 使用ML估计法可选择其他估计方法:
fit <- sem(model, data=myData)
4. 结果提取:
summary(fit, standardized=TRUE, fit.measures=TRUE)
二、关键扩展内容
1. 模型评估指标:
| 指标 | 标准 | 说明 |
|---|---|---|
| χ²/df | <3 | 卡方自由度比 |
| RMSEA | <0.08 | 近似误差均方根 |
| CFI | >0.90 | 比较拟合指数 |
| TLI | >0.90 | Tucker-Lewis指数 |
| SRMR | <0.08 | 标准化残差均方根 |
2. 进阶分析功能:
- 多组比较:`sem(..., group="分组变量")`
- 中介效应检验:
mediation_effect <- mediate(IV, DV, mediator=Med)- 修正指标:`modificationIndices(fit)`
三、典型工作流程
1. 理论模型构建 → 2. 数据准备(无缺失/正态性检查) → 3. CFA验证测量模型 → 4. 全模型拟合 → 5. 模型修正 → 6. 结果解释
四、相关包对比
| 包名称 | 特点 | 适用范围 |
|---|---|---|
| lavaan | 语法简洁,应用最广 | 标准SEM分析 |
| OpenMx | 高度灵活 | 复杂定制化模型 |
| sem | 基础功能 | 简单路径分析 |
五、注意事项
1. 样本量需满足N>200或观测变量10倍以上
2. 缺失数据处理建议使用FIML(Full Information ML)
3. 非正态数据应采用稳健估计法(如MLM)
4. 模型识别需满足:t ≤ (p(p+1))/2,其中t为参数个数,p为观测变量数
补充技术细节:对于大型数据集(N>1000),推荐使用`lavaan.survey`包进行复杂抽样校正,当处理分类变量时需使用`ordered=`参数指定有序变量。

查看详情

查看详情