サラリーマン技術者の調査レポート

日々の業務で気付いた当たり障りのない技術的なあれこれを綴ります。

RのsemPathsのエラーに対応する

R の semPath でエラーが発生するときは最新版の semPlot を入れましょう。

前提

  • R version 3.2.2
  • platform: x86_64-w64-mingw32

問題

R の semPathssem()lavaan() の結果をパス図として出力しようとすると、モデルによっては

Error in data.frame(label = pars$label, lhs = ifelse(pars$op == "~" |  : 
  arguments imply differing number of rows: 19, 1, 22

みたいなエラーが発生してパス図が描けないときがあります*1

対処

そんなときは semPlot パッケージの最新版をインストールすれば大丈夫みたいです。

semPaths with equality constraints · Issue #5 · SachaEpskamp/semPlot · GitHub

最新版の semPlot パッケージをインストールする手順は

install.packages('devtools')

library('devtools')
install_github('semPlot','SachaEpskamp')

library(semPlot)

となります。ちょっと時間が掛かりますが、しばらくすると semPaths で正しくパス図が描けるようになります。

(修正版が CRAN からダウンロードできるようになったら意味ないですけど、、)

共分散構造分析 R編―構造方程式モデリング

共分散構造分析 R編―構造方程式モデリング

*1:モデルに等値制約を入れた場合に発生するようです