使用 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")
有关详细信息,请阅读:
我想使用 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")
有关详细信息,请阅读: