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

时间:2017-01-13 19:37:12

标签: r r-lavaan sem

我想使用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*,值=“精神”):   尝试在少于两个维度的对象上设置“colnames”

由于

2 个答案:

答案 0 :(得分:1)

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

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

有关详细信息,请阅读:

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

答案 1 :(得分:0)

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

你所要做的就是:

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

致电之前:

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