2017-01-13 8 views
0

Я хотел бы создать диаграмму пути модели SEM с категориальной переменной ответа с помощью semPaths(). Однако я бегу в ошибку:Создайте диаграмму пути модели SEM с категориальной переменной ответа с помощью semPaths()

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. Я не знаю, почему, но когда это упорядоченные данные, lavaan ставит подразумеваемую матрицу ковариации в res.cov вместо cov.

Все, что вам нужно сделать, это:

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

Перед вызовом:

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

выше решение решает проблему для текущей версии CRAN из semPlots(). Тем временем эта проблема была решена в версии разработки. Для того, чтобы установить его запустить:

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

Для получения более подробной информации прочитать:

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