データとモデルの作成
library("lavaan") Data <- HolzingerSwineford1939[,c("x1","x2","x3","x4", "x5", "x6")] model <- ' f1 =~ x1 + x2 + x3 f2 =~ x4 + x5 + x6 ' fit <- sem(model, data = Data, std.lv = TRUE)
lavaanパッケージに含まれているデータHolzingerSwineford1939
を利用する。
データはこちらを参照のこと。 https://ides.hatenablog.com/entry/2020/06/13/005540
潜在変数の相関係数
inspect関数を利用する。
inspect(fit, what="cor.lv")
結果。
f1 f2 f1 1.000 f2 0.461 1.000
観測変数の相関係数
inspect(fit, what="cor.ov")
結果。
x1 x2 x3 x4 x5 x6 x1 1.000 x2 0.335 1.000 x3 0.442 0.245 1.000 x4 0.305 0.169 0.223 1.000 x5 0.306 0.170 0.224 0.728 1.000 x6 0.300 0.166 0.219 0.714 0.716 1.000
すべての変数の相関係数
inspect(fit, what="cor.all")
結果。
x1 x2 x3 x4 x5 x6 f1 f2 x1 1.000 x2 0.335 1.000 x3 0.442 0.245 1.000 x4 0.305 0.169 0.223 1.000 x5 0.306 0.170 0.224 0.728 1.000 x6 0.300 0.166 0.219 0.714 0.716 1.000 f1 0.778 0.431 0.568 0.393 0.393 0.386 1.000 f2 0.358 0.199 0.262 0.852 0.854 0.838 0.461 1.000
inspect関数
inspect関数全体についてはこちらを参照。 https://ides.hatenablog.com/entry/2020/07/30/020722
手動
通常の結果表示summary
で共分散が表示される。共分散を各々の標準偏差で割ると相関係数になるので、手動で求めることもできる。
https://sci-pursuit.com/math/statistics/correlation-coefficient.html