使用semTools包的sem.mi/run.Mi函数如何获取R²对应的p值?
获取semTools中多重插补模型的R²显著性p值
在使用sem.mi()(或runMI())拟合多重插补结构方程模型时,默认的summary()输出不会提供R²的p值,你可以通过以下两种实用方法获取:
方法1:使用rsq.mi()函数(推荐)
semTools包提供了专门针对多重插补模型的rsq.mi()函数,直接传入你的拟合对象即可计算R²及其显著性检验结果:
# 确保加载semTools包 library(semTools) # 计算R²的p值和置信区间 rsq_results <- rsq.mi(fit.parcels5555) print(rsq_results)
输出结果会包含每个内生变量的R²值、p值,以及基于多重插补合并规则生成的置信区间,完全适配你的多重插补模型场景。
方法2:结合似然比检验手动验证
如果需要更底层的验证逻辑,你可以通过对比原预测模型和仅含内生变量截距的虚无模型的似然比检验,推导R²的显著性:
# 构建对应内生变量的虚无模型(仅保留截距项,替换为你模型中的内生变量) null_mod <- ' y1 ~ 1 y2 ~ 1 ' # 拟合多重插补的虚无模型 fit_null <- sem.mi(null_mod, data = dataList) # 对原模型和虚无模型做似然比检验 lrt_result <- lavTestLRT(fit.parcels5555, fit_null) print(lrt_result)
似然比检验的p值即可对应R²的显著性,但这种方法需要针对每个内生变量单独调整虚无模型,不如rsq.mi()便捷。
内容的提问来源于stack exchange,提问作者HHKK
相关产品推荐
相关产品推荐

