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