MplusのアウトプットをRでプロットする

最近必要に迫られて,Mplusに戻ってきている。

MplusのMac版は基本CUIで,一応エディタアプリはついているんだけど,モデルをテキストで書いて,テキストの出力がなされるだけ。

グラフィカルなアウトプットについては,ver6からGH5という拡張子のファイル名が,HDF形式に対応したのでそちらで!となっている(記事こちら)。もちろんこれでは意味が分からんので,色々試行錯誤していたのだけど,ようやくだいたいの意味が分かってきたので備忘録しておく。

まず,Rにhdf5パッケージを入れておく必要があるみたい。

次に,こちらのソースをDLしてRで読み込む。読み込む関数はsource(filename)です。あるいはRstudioのメニューバーにcode>sourceがあるからそれで読み込んでもいい。

 

で,Mplusを実行した結果のgh5ファイル(もちろんMplusのコードでPLOTをしておかないと作られない。あと,何がプロットされるか,必要なものをちゃんと書いておかないとね)を読み込む。これは先ほどのmplus.Rというソースに含まれるmplus.load(filename)という関数を使う。これでgh5ファイルが読み込まれ,mplus.plot.histogram関数や,mplus.plot.scatterplot関数が使えるようになる。

 

おや,と思ったひとがいるかもしれない。そう,読み込んだものをオブジェクトとして保管しておきたい(つまり,mplus.load(filename)->obs名としたい)ところなんだけど,そういう概念はないみたいで,作業スペースの中にindividual_dataとかmatrix_data,means_and_variances_dataというオブジェクトが作られる。そこにはMplusで読み込んだ変数名とかがそのまま入っているので,mplus.***の描画関数で結果は描かれるんだろうけど,ちょっと美しくないね。Rのオブジェクト指向を無視した方向性。

 

ということで,やれることはわかったけど,まだ使いにくいので今後に期待!です。