使用lavaan输入协方差矩阵时,我收到以下错误消息:
lav_matrix_lower2full(c(0.77,0.38,0.65,0.39,0.39,0.62,-0.25,: p == round(p,0)不为真
我之前使用下面的代码没有问题。
Full.cor<-lav_matrix_lower2full(c(.77,.38,.65,.39,.39,.62,-.25,-.32,-.27,6.09,.31,.29,.26,-.36,7.67,.24,.25,.19,-.18,.51,1.69,-3.16,-3.56,-2,63,6.09,-3.12,-4.58,204.79,-.92,-.88,-.72,.88,-1.49,-1.41,16.53,7.24))
有什么想法我做错了吗?
答案 0 :(得分:2)
来自?lav_matrix_lower2full
(黑体字):
“ lav_matrix_vechr_reverse”(别名:“ lav_matrix_vechu_reverse” 和“ lav_matrix_lower2full”)创建对称矩阵,给出 仅下部三角形元素,逐行显示。如果对角线= FALSE,将添加零元素对角线。
对于任何对称n × n
矩阵,都有n(n+1)/2
下三角元素(包括对角线)。
由于未提供正确数量的“未包装”矩阵元素而导致错误。
例如,对于一个3 × 3
矩阵,我们需要提供6个元素
lav_matrix_lower2full(c(0, 1, 2, 3, 4, 5))
# [,1] [,2] [,3]
#[1,] 0 1 3
#[2,] 1 2 4
#[3,] 3 4 5
如果我们改为这样做
lav_matrix_lower2full(c(0, 1, 2, 3, 4))
我们得到错误
lav_matrix_lower2full(c(0,1,2,3,4))中的错误: p == round(p,0)不为真
在您的情况下,您有37个元素,这表明两者之一
8 × 8
协方差矩阵,您还有一个错误的元素,或者9 × 9
协方差矩阵,您缺少8个其他元素。