首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用semPaths()创建带有分类响应变量的扫描电镜模型的路径图

使用semPaths()创建带有分类响应变量的扫描电镜模型的路径图
EN

Stack Overflow用户
提问于 2017-01-14 03:37:12
回答 2查看 636关注 0票数 0

我想使用semPaths()创建一个带有分类响应变量的扫描电镜模型的路径图。然而,我遇到了一个错误:

代码语言:javascript
复制
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*,value = "mental")中出错:尝试在少于两个维度的对象上设置“colname”

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-21 21:14:53

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

你所要做的就是:

代码语言:javascript
复制
fit@SampleStats@cov<-fit@SampleStats@res.cov

在调用之前:

代码语言:javascript
复制
semPaths(fit,"std",edge.label.cex = 0.5, curvePivot=TRUE,layout = "tree")
票数 0
EN

Stack Overflow用户

发布于 2017-01-23 18:19:05

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

代码语言:javascript
复制
library(devtools)
install_github("SachaEpskamp/semPlot")

有关更多详细信息,请阅读以下内容:

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41642218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档