相関係数をピアソンではなく、ポリコリック相関係数を使う方法。例として簡単な確証的因子分析を行う。
サンプルデータの作成
library(lavaan) data.con <- HolzingerSwineford1939[,c("x1","x2","x3")] # visualのデータのみ使用 ## 3カテゴリにしてカテゴリカルデータを作成。順序尺度。 data.cat <- as.data.frame( lapply(d1, cut, 3, labels = FALSE) )
データの詳細はこちら
連続変数はdata.con
に格納、カテゴリカル変数はdata.cat
に格納。
連続変数で確証的因子分析
model <- 'visual =~ x1 + x2 + x3' con.fit <- sem(model, data = data.con) summary(con.fit)
結果。
Latent Variables: Estimate Std.Err z-value P(>|z|) visual =~ x1 1.000 x2 0.778 0.141 5.532 0.000 x3 1.107 0.214 5.173 0.000
カテゴリカル変数(順序尺度)で確証的因子分析
ordered = TRUE
を入れればよい。
cat.fit <- sem(model, data = data.cat, ordered = TRUE) summary(cat.fit)
結果。
Latent Variables: Estimate Std.Err z-value P(>|z|) visual =~ x1 1.000 x2 0.598 0.138 4.322 0.000 x3 0.958 0.229 4.175 0.000