1

semPlot-package のコマンド semPaths を使用して、3 つの水平レベルにプロットしたい観測変数のみの溶岩 SEM モデルがあります。

ただし、semPaths のデフォルトは次のとおりです。「デフォルトの回転でのデフォルトの「ツリー」レイアウトは、ノードを 4 つの水平レベルのいずれかに配置します。上部に外因性マニフェスト変数、その下に外因性潜在変数、その下に内因性潜在変数、一番下には内因性マニフェスト変数があります。」したがって、semPath はモデルを 2 つの水平レベルのみでプロットし、さらにレベルを追加する方法がわかりません。

これが私のコードです:

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)

さらに、パス図に標準エラーを追加する方法がわかりません。

事前に助けてくれてありがとう!

4

1 に答える 1

3

レイアウトとして使用する (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 ベクトルと y ベクトルを作成し、それらを行列に結合する方が簡単だと思います。

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)

手動レイアウトの前に私が持っていたものは次のとおりです。

手動レイアウトの前は、デフォルトの「ツリー」レイアウト。 これが私が手動でレイアウトした後のものです。

手動レイアウトの後、メディエーターは独自のレイヤーに移動しました。

于 2015-07-28T20:03:39.693 に答える