如何在R中使用lavaan构建含二分类结局的潜增长曲线模型?
二分类结局潜增长曲线模型的语法调整方案
核心逻辑:
growth()函数默认适配连续结局,二分类变量需要明确指定链接函数与适配的估计方法,建议改用lavaan通用的cfa()函数手动定义增长模型结构,更灵活。具体语法调整步骤:
- 手动定义潜增长因子(截距
i、斜率s),指定各时间点结局变量的载荷(截距因子载荷全为1,斜率因子按时间编码设置,比如0,1,2,3)。 - 添加时间不变协变量对截距、斜率的预测路径。
- 在模型拟合时指定
family = "binomial"(logit链接,默认)或family = "binomial(probit)",同时选择适合分类变量的估计方法(如WLSMV或MLR)。
- 手动定义潜增长因子(截距
示例代码:
# 假设4个时间点的二分类结局为y1-y4,时间不变协变量为x1、x2 lgc_model <- ' # 定义潜增长因子 i =~ 1*y1 + 1*y2 + 1*y3 + 1*y4 # 截距因子,固定载荷为1 s =~ 0*y1 + 1*y2 + 2*y3 + 3*y4 # 斜率因子,时间编码可自定义 # 协变量预测潜因子 i ~ x1 + x2 s ~ x1 + x2 ' # 拟合模型,指定二分类变量与估计方法 fit <- cfa(lgc_model, data = your_dataset, family = "binomial", estimator = "WLSMV") # 输出结果 summary(fit, fit.measures = TRUE, standardized = TRUE)重要提示:
WLSMV是分类潜增长模型的首选估计方法,在小样本或变量分布偏离正态时表现更稳健;MLR也可使用,但适合大样本场景。- 二分类变量的残差方差会由链接函数自动约束,无需手动设置,模型语法中可以省略残差方差的定义。
内容的提问来源于stack exchange,提问作者maudib528
相关产品推荐
相关产品推荐

