Модель 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)
Спасибо, парень "Майк".