You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用lavaan进行SEM中介分析报错:数据集缺失观测变量

解决lavaan中介分析报错:missing observed variables in dataset: Y M

问题根源

  1. 模型语法结构错误
    你把两个核心回归方程写在了同一行,导致lavaan无法正确解析模型逻辑,误生成了不存在的变量Y、M。中介模型需要明确拆分两条路径:
  • 中介变量被预测变量驱动的路径
  • 因变量被预测变量+中介变量共同驱动的路径
  1. 对象名笔误
    你定义模型时用的变量名是modal,但调用sem()时传入的是model,这会导致R找不到模型对象(虽然当前报错没触发这个,但属于潜在致命问题)。

  2. 变量名一致性风险
    需确认Tyburdata数据集中的变量名和模型里的完全匹配,比如模型里的Sexual_Disgust不能是数据里的Sexual Disgust(带空格的变量名在lavaan中会解析失败,建议用下划线/驼峰命名)。

修正后的代码

# 规范的中介模型语法
model <- '
  # 因变量回归:直接效应c + 中介路径b
  PolOri_Social ~ c*Gender + b*Sexual_Disgust
  # 中介变量回归:中介路径a
  Sexual_Disgust ~ a*Gender
  # 间接效应计算
  ab := a*b
  # 总效应计算
  total := c + ab
'

# 拟合模型(确保模型对象名与定义一致)
fit <- sem(model, data = Tyburdata)
summary(fit)

内容的提问来源于stack exchange,提问作者Megan Owen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 15:50:26