qgraph: несколько изображений в узлах

Я недавно использовал Lavaan пакет в R для моделирования структурных уравнений и использовать semPlot пакет, который, кажется, совмещать с qgraph, в генерации путевых диаграмм.

Я обнаружил, что qgraph имеет поддержку отображения изображений (таких как JPEG и PNG) в качестве узлов.

Мой вопрос заключается в том, возможно ли и, если да, то каким образом построить график для каждого узла на диаграмме пути. Я хотел бы иметь возможность использовать изображения предметов моего исследования, чтобы заполнить переменные манифеста на моей диаграмме пути. Спасибо!

1 ответ

Решение

И спасибо за проверку semPlot (который все еще находится в очень развивающемся состоянии). Вы, конечно, можете сделать это. На самом деле semPlot совмещает с qgraph, на самом деле это в основном интерфейс qgraph и возвращает объект qgraph. Вы можете отправить аргументы в qgraph или снова отобразить результат с другими аргументами. Например:

library("lavaan")

# Example 5.8 from mplus user guide:
Data <- read.table("http://www.statmodel.com/usersguide/chap5/ex5.8.dat")
names(Data) <- c(paste("y", 1:6, sep=""),
                 paste("x", 1:3, sep=""))

# Model:
model.Lavaan <- 'f1 =~ y1 + y2 + y3
f2 =~ y4 + y5 + y6
f1 + f2 ~ x1 + x2 + x3 '

# Run Lavaan:
library("lavaan")
fit <- lavaan:::cfa(model.Lavaan, data=Data, std.lv=TRUE)

# Download R logo:
download.file("http://cran.r-project.org/Rlogo.jpg", file <- tempfile(fileext = ".jpg"), 
              mode = "wb")

# Plot path diagram and store qgraph object:
Graph <- semPaths(fit,title=FALSE, curvePivot = TRUE)

# plot qgraph again with images:
qgraph(Graph, images = file, labels = FALSE)

Если вы хотите использовать другое изображение для каждого узла, вы можете дать изображениям вектор, содержащий имена файлов изображений для каждого узла в порядке узлов. Чтобы узнать порядок узлов, вы можете сделать:

# To see which nodes are which:
Graph$graphAttributes$Nodes$labels
Другие вопросы по тегам