久しぶりに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に一日の長があるね。