MplusをRから触る

久しぶりにMplusを触る必要があって,コードを書いていたんだけど,Rでの生活が長かったからちょっと戻るのに手間取った。

 

例えば,データはタブ区切りでheadがないように作っておかないと。あと,これはマカーの問題なんだけど,データの改行コードはWindows用(CR-LF)でないとだめだとか。

 

まあデータの読み込みができれば,モデリングは本当に簡単にできるんです,M-plusは。

ただ,Mac版のM-plusの残念なところは,基本テキスト入力ーテキスト出力なんだよね。一応GUIのコードエディタはついているんだけど,プロットが描かれたりはしない。その辺が不便だなー,とおもってちょっとウロウロしていたら,Mutenの公式サイトにMplusをRから触るパッケージ,MplusAutomationというのがあったので,少し触ってみた。

 

結論から言うと,係数なんかを取り出したりすることはできるんだけど,基本はMplusのコード(inpファイル)を書いて,Mplusのエンジンで走らせて(これは当たり前),結果ファイル(outファイル)をRに取り込む,という感じで使うみたい。

library(“MplusAutomation”)でライブラリを読み込み,

runModels_Interactive()

とすると,別窓(GUI)がひらいて,どのフォルダを実行するんだい?って聞かれる。ここで指定したフォルダの中に入っているあらゆるinpファイルをoutファイルにしていくわけだ。

結果はextractModelSummarys関数で。引数としてoutファイルがあるフォルダを指定してやると,モデルのパラメタや適合度なんかを取り出すことができる。

モデルそのものの結果(負荷量等)が欲しい場合は,readModels関数で。結果の全てがリスト形式で取り出せるようになる。

 

ま,取り出すだけです。

理想的にはRのコマンドをMplusのエンジンで実行してもらいたいんだけど,さすがにそういうわけにはいかんわな。

 

カテゴリカル変数を含んだSEMを書くときは,やっぱりMplusに一日の長があるね。