Lavaan中多分类IV的非参照组两两比较方法咨询
在Lavaan中实现多分类自变量非参照组的两两比较
针对你用虚拟变量编码的三分类自变量(exposure:CT为参照组,No、Topic为非参照组),Lavaan没有内置的事后比较命令,但可以通过自定义参数约束与差异参数的方式,直接检验非参照组之间的效应差异,包括直接效应、间接效应和总效应。
核心思路
通过定义参数1 - 参数2的形式,计算两个非参照组相对于参照组的效应差值,进而得到两组之间的直接对比结果。结合bootstrap方法,还能得到这些差异参数的置信区间,判断显著性。
修改后的模型代码
model1 <- ' # 主模型方程 beliefCT_mean ~ c*pattern_mean + g*effectance_mean + f1*exposure_No + f2*exposure_Topic + i1*Age + i3*believer effectance_mean ~ a1*exposure_No + a2*exposure_Topic pattern_mean ~ b*effectance_mean + d1*exposure_No + d2*exposure_Topic + j*believer # 定义各组相对于参照组的间接效应与总效应 indirect_1 := a1*b*c # No组的中介路径1 indirect_2 := a2*b*c # Topic组的中介路径1 indirect_3 := a1*g # No组的中介路径2 indirect_4 := a2*g # Topic组的中介路径2 indirect_5_No := d1*c # No组的中介路径3 indirect_5_Topic := d2*c # Topic组的中介路径3 Total_No := a1*b*c + a1*g + d1*c + f1 # No组相对于参照组的总效应 Total_Topic := a2*b*c + a2*g + d2*c + f2 # Topic组相对于参照组的总效应 # 定义非参照组之间的差异参数 # 直接效应差异 diff_DV_dir := f1 - f2 # No vs Topic在DV上的直接效应差异 diff_M1_dir := a1 - a2 # No vs Topic在M1上的直接效应差异 diff_M2_dir := d1 - d2 # No vs Topic在M2上的直接效应差异 # 间接效应差异 diff_indirect1 := indirect_1 - indirect_2 # 中介路径1的组间差异 diff_indirect2 := indirect_3 - indirect_4 # 中介路径2的组间差异 diff_indirect3 := indirect_5_No - indirect_5_Topic # 中介路径3的组间差异 # 总效应差异 diff_total := Total_No - Total_Topic ' fit1 <- sem(model1, final, se = "bootstrap", bootstrap = 1000)
结果解读
运行模型后,使用以下命令查看所有参数(包括自定义的差异参数)的估计值、置信区间和显著性:
# 查看未标准化结果及bootstrap置信区间 parameterEstimates(fit1, ci = TRUE, boot.ci.type = "bca.simple") # 查看标准化结果 standardizedSolution(fit1, ci = TRUE)
- 若差异参数的95%置信区间不包含0,说明两个非参照组在该效应上存在显著差异;
- 也可通过p值判断(p < 0.05则显著),但bootstrap置信区间的结果更稳健。
内容的提问来源于stack exchange,提问作者Aline Moore Lorusso
相关产品推荐
相关产品推荐

