如何在lavaan的RI-CLPM代码中纳入非时变预测变量间路径
RI-CLPM模型中纳入预测变量间路径的lavaan代码修改
问题背景
现有RI-CLPM模型包含:
- 两个连续重复测量变量:
x1-x3、y1-y3(含缺失值) - 三个非时变预测变量:
pre1(二分类,无缺失)、pre2(连续,含缺失)、pre3(二分类,无缺失)
已实现个体内水平的自回归与交叉滞后效应估计、观测变量对三个预测变量的回归,需新增路径pre3 ~ pre1 + pre2并整合到模型中。
修改后的完整代码
# 定义包含预测变量间路径的RI-CLPM模型 riclpmModel_with_predictors <- ' # 随机截距潜变量设定 RI_x =~ 1* x1 + 1* x2 + 1* x3 RI_y =~ 1* y1 + 1* y2 + 1* y3 # 观测变量截距固定 x1 ~ mu1*1 x2 ~ mu2*1 x3 ~ mu3*1 y1 ~ pi1*1 y2 ~ pi2*1 y3 ~ pi3*1 # 随机截距的方差与协方差 RI_x ~~ RI_x RI_y ~~ RI_y RI_x ~~ RI_y # 个体内潜变量(用于自回归与交叉滞后) x1_latent1 =~ 1* x1 x2_latent2 =~ 1* x2 x3_latent3 =~ 1* x3 y1_latent1 =~ 1* y1 y2_latent2 =~ 1* y2 y3_latent3 =~ 1* y3 # 个体内的自回归与交叉滞后效应 x3_latent3 ~ alpha3* x2_latent2 + beta3* y2_latent2 x2_latent2 ~ alpha2* x1_latent1 + beta2* y1_latent1 y3_latent3 ~ delta3* y2_latent2 + gamma3* x2_latent2 y2_latent2 ~ delta2* y1_latent1 + gamma2* x1_latent1 # 个体内潜变量的方差与协方差 x1_latent1 ~~ x1_latent1 x2_latent2 ~~ u2* x2_latent2 x3_latent3 ~~ u3* x3_latent3 y1_latent1 ~~ y1_latent1 y2_latent2 ~~ v2* y2_latent2 y3_latent3 ~~ v3* y3_latent3 x1_latent1 ~~ y1_latent1 x2_latent2 ~~ y2_latent2 x3_latent3 ~~ y3_latent3 # 预测变量对观测变量的效应 x1 ~ px11* pre1 + px12* pre2 + px13* pre3 x2 ~ px21* pre1 + px22* pre2 + px23* pre3 x3 ~ px31* pre1 + px32* pre2 + px33* pre3 y1 ~ py11* pre1 + py12* pre2 + py13* pre3 y2 ~ py21* pre1 + py22* pre2 + py23* pre3 y3 ~ py31* pre1 + py32* pre2 + py33* pre3 # 新增:预测变量间的回归路径 pre3 ~ pp1*pre1 + pp2*pre2 ' # 拟合模型:使用MLR估计量适配含分类变量的模型 riclpmModel_with_predictors_fit <- lavaan(riclpmModel_with_predictors, data = data_xy, missing = 'ML', # 处理缺失值 estimator = 'MLR', # 稳健极大似然,适配含分类变量的模型 int.ov.free = F, int.lv.free = F, auto.fix.first = F, auto.fix.single = F, auto.cov.lv.x = F, auto.cov.y = F, auto.var = F) # 输出结果(含标准化系数) summary(riclpmModel_with_predictors_fit, standardized = T)
关键修改说明
- 新增预测变量路径:直接在模型字符串末尾添加
pre3 ~ pp1*pre1 + pp2*pre2,pp1、pp2为参数标签,方便在结果中识别对应系数。 - 估计量调整:由于
pre3是二分类因变量,改用estimator='MLR'(稳健极大似然估计),该估计量对非正态分布、缺失数据的适配性更好,无需使用适用于有序多分类变量的WLSMV。 - 变量类型处理:
pre1、pre3为二分类变量,无需设置ordered参数(该参数用于有序多分类变量),lavaan会自动识别二分类变量类型。
注意事项
- 模型识别:新增路径后模型仍保持可识别性,预测变量间的回归路径属于额外可估计参数,不会破坏原RI-CLPM的识别结构。
- 缺失值处理:
missing='ML'可同时处理连续变量(x/y/pre2)的缺失值,pre1、pre3无缺失不影响模型拟合。 - 参数解读:
pp1为pre1对pre3的回归系数,pp2为pre2对pre3的回归系数,可通过标准化结果查看效应量大小。
内容的提问来源于stack exchange,提问作者jmso
相关产品推荐
相关产品推荐

