2017-01-13 661 views
0

我想使用semPaths()創建具有分類響應變量的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」的對象上小於二維

感謝

回答

0

有人幫助我通過res.cov更換COV的內容來解決這個問題。我不知道爲什麼,但是當它是有序數據時,lavaan將隱含的協方差矩陣放在res.cov而不是cov中。

所有你需要做的是這樣的:

[email protected]@cov<[email protected]@res.cov 

撥打電話前:

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

上述解決方案解決了這個問題的semPlots當前CRAN版本()。同時這個問題已經在開發版本中解決了。要安裝運行:

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

有關詳細信息閱讀:

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

相關問題