Модель Lavaan: как заставить semPath использовать Std.lv вместо Std.all

Я редактирую свой вопрос в попытке обеспечить большую ясность в моей проблеме R. Моя проблема в том, что semPaths() не печатает оценки Std.lv. Мой код начинается с кода lavaan, а затем представляется оператор semPaths.

Я предоставляю код R:

library(lavaan)

lower <- '
  .32
  .42   1.35
  .42    .86   1.35
 1.11   2.46   2.02  17.98
 1.55   3.21   3.01  11.75  19.98
  .85   2.00    1.7   7.85   8.28  10.56'

jsac.cov <- 
  getCov(lower, names = c("js1", "js2", "js3", "ac1", "ac2", "ac3"))

jsac <- '
  # latent variables
    js =~ js1 + js2 + js3
    ac =~ ac1 + ac2 + ac3
 '
fit <- cfa(jsac, 
       sample.cov = jsac.cov, 
       sample.nobs = 200)
summary(fit, fit.measures = TRUE, standardize = TRUE)

library(semPlot)

#print the paths with the path coefficients
semPaths(fit, "model", "est", intercepts = FALSE)

Коэффициенты пути, построенные с помощью характеристики semPaths, в выводе лавы помечены как "Оценки". То, что я пытаюсь построить, - это оценки, помеченные в выводе лавы как "Std.lv"

Благодарю.

"Майк" ответил: установите дисперсию скрытого фактора равной 1,0 в модели sem (std.lv=TRUE). Я старался

summary(fit, fit.measures = TRUE, std.lv = TRUE)

и получил эту синтаксическую ошибку

Error in .local(object, ...) : unused argument (std.lv = TRUE)

2 ответа

Установите дисперсию скрытого фактора равной 1,0 в модели sem (std.lv=TRUE).

Парень "Майк" был прав. Я неправильно понял. Обратите внимание на третью строку команды cfa, которая включает std.lv = TRUE. Это работает:

# run CFA
jsac <- '
  # latent variables
js =~ js1 + js2 + js3
ac =~ ac1 + ac2 + ac3
                      '

fit <- cfa(jsac, 
       sample.cov = jsac.cov, 
       sample.nobs = 200,std.lv = TRUE)    
summary(fit, fit.measures = TRUE)

#print the paths with the path coefficients
semPaths(fit, "model", "est", intercepts = FALSE)

Спасибо, парень "Майк".

Другие вопросы по тегам