3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

構造方程式モデリング(共分散構造分析)をGUIで実行するRのパッケージ"lavaangui"の紹介

Posted at

今回紹介するのは構造方程式モデリング(共分散構造分析)をGUIで実行するRのパッケージ "lavaangui" です。

近年の機械学習の隆盛の中で、構造方程式モデリングは流行らなくなってきた感もありますが、まだまだ活用している界隈もあります。
特に心理学系では、GUIで操作できる商用ソフトが人気でよく使われている印象があります。

じつは、 "lavaangui" パッケージを使うとRでもGUIで操作しながら構造方程式モデリングを実行することができるのです。
こちらにGUI操作している様子の動画があります。これでイメージがつかめるでしょうか。


lavaanguiパッケージはCRANに登録されているのでインストールはこれだけでOK。
依存するパッケージ類も一緒にインストールされます。

install.packages("lavaangui")

インストールが済んだらlibrary()で呼び出します。

library(lavaangui)

GUIで操作する

lavaangui()関数を実行するとでブラウザが立ち上がり、操作画面が表示されます。

lavaangui()

02_gui.png

分析対象のデータはFileメニューからLoad Dataを選択し読み込みます。
読み込めるファイル形式は*.csv, *.sav, *.rds, *.txt, *.xlsxとなっています。

今回は『共分散構造分析[R編]』(豊田秀樹 編著)で公開されているのデータの中から intelligence.csv をデモデータとして使います。

ファイルが読み込まれると表形式でデータ内容が表示されます。
03_gui.png

データの表示画面を閉じて元の画面に戻ると、メニューの下に読み込んだデータに含まれる変数が四角で囲って表示されています。
04.png

データを読み込めたらモデルの作成に入りましょう。
四角で囲まれた変数(観測変数)をドラッグ&ドロップで下のフィールドに置いていきます。

05.png

次に潜在変数を配置します。
左上の丸いアイコンをドラッグ&ドロップで置いていきます。

06.png

パスを引きます。
左上の一方通行の矢印アイコンをクリックしたら、パスの始まりとなる変数からパスの刺さる先の変数へドラッグするとパスが引かれます。
07.png

切片を設定します。
左上の両方向矢印アイコンをクリックして、切片を付けたい変数から同じ変数へドラッグします。これはちょっと文字だと伝わりづらいかも。動画を見て確認してください。
09.png

潜在変数間の共分散(因子間相関)のパスを設定します。
切片と同様に左上の両方矢印アイコンをクリックして、パスを引きたい潜在変数間でドラッグします。
10.png

ここまでで、右のウィンドウにlavaanパッケージで使えるモデルのコードが表示されます。
GUIではなく通常のR言語で同様のモデルを使いたい場合はこちらを参考にしましょう。

このままだと不格好ですね。
Apply Layoutメニューを使うと自動整列してくれます。
Tree2を適用したのが下の図です。
11.png

分析を実行する前にいくつかの制約を設定しなければいけません。
画面下の「Autocompleted Model」をクリックしますると、必要な制約を自動的に設定してくれます。(もちろん任意での指定も可能。)
13.png

いよいよ分析の実行です。
下の「Estimates」をクリックすると計算が始まります。
結果はパス図上に係数として表示されます。
また、右のウィンドウに各種指標値が表示されます。
14.png

下の「More Results」をクリックすると結果の詳細やWald検定の結果などを確認できます。
15.png

CUIで作ったモデルをlavaanguiで表示する。

先にlavaanで作ったモデルをlavaanguiで表示することも可能です。

library(lavaangui)
library(lavaan)

data(HolzingerSwineford1939) #lavaanパッケージに含まれるデータをデモデータとして使う

model <- "
  visual  =~ x1 + x2 + x3
  textual =~ x4 + x5 + x6
  speed   =~ x7 + x8 + x9
"

fit <- cfa(model, data = HolzingerSwineford1939)

こうして作ったlavaanのモデルをplot_lavaan()関数に与えればRStudio上で以下のウィンドウが開き、パス図が表示されます。

plot_lavaan(fit)

16_plot_lavaan.png

また、モデルをlavaangui()関数に与えれば、ブラウザ上でlavaanguiのGUIが表示され通常のlavaangui上で操作ができるようになります。

17_lavaangui.png

終わりに

このように、GUIで操作する商用ソフトで構造方程式モデリングを扱っていた人でも、抵抗なく使えるようになっているので、ぜひお試しください。

以上です。

Enjoy!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?