我在 lavaan 创建了一个 SEM 模型,它非常适合我的数据。我使用以下方法检查了生成的协方差矩阵:
cov1 <- lavInspect(my_fit, what="fitted")$cov
它产生了这个矩阵(变量本身不感兴趣)
dpl cns par cbi med
dpl 0.046
cns 0.032 0.064
par 0.042 0.042 0.082
cbi 0.104 0.112 0.164 0.488
med 0.007 0.009 0.008 0.020 0.012
我将其转换为相关矩阵cov2cor
cor1 <- cov2cor(cov1)
产生了这个:
dpl cns par cbi med
dpl 1.000
cns 0.587 1.000
par 0.692 0.573 1.000
cbi 0.692 0.630 0.821 1.000
med 0.305 0.327 0.248 0.261 1.000
到目前为止,一切都很好。只是为了测试一下,我决定用cor2cov
它来看看它是否让我回到了原来的 corr 矩阵。为此,我需要相关性和变量 sd's out of cor1
. 所以
sd1 <- describe(cor1)$sd
cov2 <- cor2cov(cor1, sd1)
这是cov2
矩阵:
dpl cns par cbi med
dpl 0.062
cns 0.035 0.058
par 0.049 0.039 0.080
cbi 0.047 0.042 0.064 0.075
med 0.024 0.025 0.023 0.023 0.103
唉,与它可能应该cov2
是不完全相同的。cov1
关于为什么这些函数会产生不同结果的任何想法,更重要的是,哪一个是“正确”的 cov 矩阵以供进一步分析?