0

我正在研究使用 R 的潜在变量建模一书,并进行了一个练习,其中包括为该图再现路径模型:

在此处输入图像描述

其中包括这个协方差矩阵:

在此处输入图像描述

我用这个 dput 创建了这个协方差矩阵:

structure(list(Teacher_Exp = c(84.85, 71.28, 18.83, 60.05), Soc_Climate = c(71.28, 
140.34, -6.25, 84.54), Material_Covered = c(18.83, -6.25, 72.92, 
37.18), Student_Ach = c(60.05, 84.54, 37.18, 139.48)), row.names = c("Teacher_Exp", 
"Soc_Climate", "Material_Covered", "Student_Ach"), class = "data.frame")

我在重现lavaan此模型的正确语法时遇到问题。到目前为止,我编写了以下模型:

model <- '
Student_Ach ~ b1*Soc_Climate + b2*Material_Covered + c*Teacher_Exp
Material_Covered ~ a2*Teacher_Exp
Soc_Climate ~ a1*Teacher_Exp
ind := a1*b1 + a2*b2
'

但是,当我运行此代码时:

fit <- sem(model,
           data = slack)

我得到这个输出:

Warning message:
In lavaan::lavaan(model = model, data = slack, model.type = "sem",  :
  lavaan WARNING:
    the optimizer warns that a solution has NOT been found!

我显然在该model部分中遗漏了一些东西,那会是什么?任何帮助都会很棒。

编辑:

根据 Terrance 的建议,我更改了模型:

slack <- as.matrix(slack)
fit <- sem(model,
             sample.cov = slack,
           sample.nobs = 40)

但是现在当我使用以下功能打印模型时看起来像sempaths

semPaths(fit,
         rotation = 2)

似乎它没有从书中重现交互模型。奇怪的是,回归路径看起来是“正确的”,但看起来很奇怪。我希望它看起来像书中的图片。不必使用 semPaths 完成:

在此处输入图像描述

4

0 回答 0