我正在编辑我的问题,试图提高我的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语句绘制的路径系数在lavaan输出中标记为“Estimates”。我想要绘制的是在lavaan输出中标记为“Std.lv”
的估计值感谢。
“迈克”回答说: 在sem模型中将潜在因子方差设置为1.0(std.lv = TRUE)。我试过了
summary(fit, fit.measures = TRUE, std.lv = TRUE)
并获得此语法错误
Error in .local(object, ...) : unused argument (std.lv = TRUE)
答案 0 :(得分:0)
在sem模型中将潜在因子差异设置为1.0(std.lv = TRUE)。
答案 1 :(得分:0)
“迈克”的家伙是对的。我误解了。请注意包含std.lv = TRUE的cfa命令的第三行。这有效:
# 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)
谢谢你“迈克”的家伙。