Rstudioの構造方程式モデリングで標準誤差が算出されません

実現したいこと

Rstudioで構造方程式モデリングの分析をしようとしています。関数はlavaanパッケージのsem()を用いています。

前提

イメージ説明

以上の図のように、10個の観測変数(説明変数である4つの経済変数【life.retro・life.pros・econ.retro・econ.pros】と5つの政治変数【poli.satis・blue.dum・ green.dum・nation.id・tw.ideo】及び1つの被説明変数【vote】)間の関係を検証しようとしています。

※備考

1.変数は3つの2値変数(vote・blue.dum・ green.dum)と7つの3件順序尺度変数(他の7変数)を含むので、orderedの引数を使っています。また、被説明変数【vote】は2値変数(カテゴリー変数)なので、estimator="WLSMV"の引数を使っています。

2.使用しているデータのTW2008は、NAが含まれるサンプルは全て排除して分析しています。

該当のソースコード

コードは以下の通りです。

# 共分散構造分析 model08 <- 'poli.satis~life.retro+life.pros+econ.retro+econ.pros blue.dum ~life.retro+life.pros+econ.retro+econ.pros green.dum ~ life.retro+life.pros+econ.retro+econ.pros nation.id ~life.retro+life.pros+econ.retro+econ.pros tw.ideo ~ life.retro+life.pros+econ.retro+econ.pros vote ~ life.retro+life.pros+econ.retro+econ.pros+poli.satis+blue.dum+ green.dum +nation.id+tw.ideo ' fit.tw08 <-lavaan::sem (model08, data= TW2008, ordered=c("vote","blue.dum", "green.dum"), estimator="WLSMV") sem08 <- summary(fit.tw08, standardized=TRUE, fit.measures=TRUE)

発生している問題・エラーメッセージ

以上のコードを走らせると次のような警告文が表示されます。

> fit.tw08 <-lavaan::sem (model08, data= TW2008, ordered=c("vote","blue.dum", + "green.dum"), estimator="WLSMV") 警告: lavaan WARNING: correlation between variables green.dum and blue.dum is (nearly) 1.0警告: lavaan WARNING: correlation between variables vote and blue.dum is (nearly) 1.0警告: lavaan WARNING: Could not compute standard errors! The information matrix could not be inverted. This may be a symptom that the model is not identified.警告: lavaan WARNING: could not invert information matrix needed for robust test statistic

エラーとはならないため、走らせることは可能なのですが、実際に分析結果を表示すると、標準誤差の箇所に全てNAが表示されてしまいます(P値の箇所も表示されません)。

どのように修正すればよろしいでしょうか?教えていただけますとありがたいです。

試したこと

警告文の内容に基づいて、コードから "blue.dum" と "green.dum" を除外してみて改めて分析を行いましたが、問題は解決されません。

コメントを投稿

0 コメント