使用 semPaths() 创建具有分类响应变量的 SEM 模型的路径图

Create a path diagram of a SEM model with a categorical response variable using semPaths()

我想使用 semPaths() 创建具有分类响应变量的 SEM 模型的路径图。但是我 运行 出错了:

library(lavaan)
library(semPlot)

table.7.5 <-read.table("http://www.da.ugent.be/datasets/Agresti2002.Table.7.5.dat",header=TRUE)

table.7.5$mental <- ordered(table.7.5$mental,levels = c("well","mild","moderate","impaired"))

model <- "mental ~ ses + life"

fit <- sem(model, data=table.7.5)

semPaths(fit,"std",edge.label.cex = 0.5, curvePivot=TRUE,layout = "tree")

错误是:

colnames<-(*tmp*, 值 = "mental") 中的错误: 尝试在小于二维的对象上设置 'colnames'

谢谢

有人帮我把cov的内容换成res.cov解决了。我不知道为什么,但是当它是有序数据时,lavaan 将隐含的协方差矩阵放在 res.cov 而不是 cov.

你所要做的就是:

fit@SampleStats@cov<-fit@SampleStats@res.cov

调用前:

semPaths(fit,"std",edge.label.cex = 0.5, curvePivot=TRUE,layout = "tree")

以上解决方案解决了当前 CRAN 版本的 semPlots() 的问题。同时这个问题已经在开发版中得到解决。安装它 运行:

library(devtools)
install_github("SachaEpskamp/semPlot")

有关详细信息,请阅读:

https://github.com/SachaEpskamp/semPlot/issues/9