Lavaan模型:如何让semPaths使用Std.lv而不是Std.all

时间:2015-10-12 00:49:44

标签: r semplot

我正在编辑我的问题,试图提高我的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)

2 个答案:

答案 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)

谢谢你“迈克”的家伙。