2015-06-09 2 views
1

У меня есть только Lavaan SEM-модель наблюдаемых переменных, которые я хотел бы построить на трех горизонтальных уровнях с помощью команды semPaths в пакете semPlot.Добавление более горизонтальных уровней и стандартных ошибок в диаграмме SemPaths

Однако по умолчанию в semPaths: «Макет по умолчанию« tree »по умолчанию по умолчанию помещает узлы в один из четырех горизонтальных уровней. В верхней части экзогенные манифестные переменные, под этим экзогенными скрытыми переменными, эндогенные скрытые переменные, а внизу - эндогенные переменные манифестации ». Поэтому semPath отображает мою модель только на двух горизонтальных уровнях, и я не знаю, как добавить больше уровней.

Вот мой код:

mod1<-' 
y ~ t1 + t2 + t3 
t1 ~ t2 + t4 + t5 + t3 
t3 ~ t2 
' 
mod1.fit<-sem(mod1, data=data) 
summary(mod1.fit, standardized=TRUE, rsq=TRUE,fit.measures=TRUE) 
sem<-semPaths(mod1.fit, what="std", residuals=FALSE, layout="tree", rotation=2, nCharNodes=0, sizeMan=10, color=c("white"), edge.color=c("black"), title=FALSE, exoVar=FALSE, exoCov=FALSE, curvePivot=TRUE, "std", cut=0.1, edge.lable.cex=1.5) 

Кроме того, я не нашел, как добавить стандартные ошибки в схеме пути.

Благодарим за помощь!

ответ

2

Вам нужно будет вручную указать матрицу координат (x, y), которая будет использоваться в качестве макета.

Вы можете увидеть, какие узлы получат какие строки матрицы путем построения модели с помощью цифровых узлов меток:

semPaths(mod1.fit, intercepts = F, nodeLabels = 1:7) 

Обратите внимание, что имея перехваты (как график по умолчанию) означает, что вам необходимо будет указать координаты все перехватывает все эндогенные переменные, которые, кажется мне огромные рутинным:

semPaths(mod1.fit, intercepts = T, nodeLabels = 1:10) 

кажется, что узлы нумеруются в том порядке, что они указаны в модели с экзогенным приходом последними и в порядке, они были вызванный регрессионные формулы. Итак, в вашей матрице вы дадите координаты для y, t1 и t3, затем t2, t4 и t5.

Я считаю, что проще сделать х и у векторов, а затем объединить их в матрице:

x = c(0, -1, 1, 0, -1, 1) 
y = c(-1, 0, 0, 0, 1, 1) 
ly = matrix(c(x, y), ncol=2) 

Затем укажите, что матрица в layout аргумента semPaths():

semPaths(mod1.fit, layout=ly) 

Here's what I had before manual layout.

Перед макетом макета по умолчанию «дерево». Here's what I had after manual layout.

После ручной компоновки медиаторы перешли на свой собственный слой.

 Смежные вопросы

  • Нет связанных вопросов^_^