RでSEMが出来る。詳しくは.RjpWikiでSEMの項を見ればよい。
Rで共分散構造分析・構造方程式モデル – RjpWiki
具体的なやり方はMacintoshのユーザーの方が例を書いてくれている。
例をコピペでほとんど問題なくできる。
問題があるのは、パス図を出力したいときである。
path.diagramという関数で、dot形式の図版ファイルができあがる。
順に説明しておこう。
例示されているpath.diagram関数は次の通り。
path.diagram(ans, out.file=”camera.dat”, ignore.double=FALSE, edge.labels=”values”, digits=3, node.font=c(“Osaka”, 10))
この命令文は順に、
- path.diagram(ans):ansというモデルのパス図を書きなさいよ。
- out.file=”camera.dat”:camera.datというファイルにパス図の図版ファイルを出力しなさいよ(ディレクトリ指定がないので、このままだとRの実行ディレクトリに出力される)
- ignore.double=FALSE:双方向矢印(分散・共分散)を無視しちゃ駄目だよ
- edge.labels=”value”:パスのラベルは、パス名(thetaとかgamma)じゃなくて、その値ですよ。
- digits=3:3桁まで出しなさいよ。
- node.font=c(“Osaka”,10):Osakaフォント、10ptで出力しなさいよ
という意味である。
最後のOsakaフォントとは、Mac独自の日本語フォント*1。
ともかく、Windowsの場合は、ここに次のような指定をすると簡単である。
- node.font=c(“C:\WINDOWS\Fonts\msmincho.ttc”,10)
つまりttcファイルというのがフォントのファイルなのです。Windowsの方は普通C:\WINDOWS\Fonts\の中に入っていますので、そのように指定します。
あと、out.fileオプションは指定しない方がいいです。
理由。ファイルをUTF-8形式で保存しないとだめだから。
ともかく、out.fileオプションを指定しないで実行すると、Rのコンソールにdot形式のプログラムが出ます。
説明が後先になりましたが、dot形式とはパスダイアグラムを書くための言語です。詳しくは各自で検索でもして調べてください。
要するに、dot形式ファイルはgraphvizというプログラムで描画できるのだ、ということだけ覚えて置いておけばOK。
graphvizというソフトも知らなかったが、とにかく検索するとフリーソフトでダウンロードできることがすぐにわかるので、ダウンしてインストールしましょう。もちろん英語版しかありません。
さて次。Rコンソールに出たdot形式のプログラムをコピーします。次に、それをUTF-8形式で保存します。UTF-8形式って何?という人は検索して調べてね。やり方だけいうと、コピーしたやつを秀丸に貼り付け、UTF-8形式で保存、と指定してやるだけで何の苦労もございません(エンコードの種類をUnicode UTF-8と指定)。あぁ、なんて素敵なんだ秀丸。
次に、graphvizを起動して、インプットファイルにそのdot形式ファイルを指定。アウトプットファイルは適当な場所に適当な名前を書き、jpegかgifで出力してやれば良し。
実行例だけ書いておく。
dotファイル例
digraph “ans” {
rankdir=LR;
size=”8,8″;
node [fontname=”C:\WINDOWS\Fonts\msgothic.ttc” fontsize=8 shape=box];
edge [fontname=”Helvetica” fontsize=10];
center=1;
“小型軽量” -> “満足度” [label=”-0.229″];
“操作性” -> “満足度” [label=”0.457″];
“可搬性” -> “満足度” [label=”0.747″];
“小型軽量” -> “操作性” [label=”-0.411″];
“小型軽量” -> “可搬性” [label=”0.842″];
“小型軽量” -> “小型軽量” [label=”1″ dir=both];
“操作性” -> “操作性” [label=”0.831″ dir=both];
“可搬性” -> “可搬性” [label=”0.291″ dir=both];
“満足度” -> “満足度” [label=”0.637″ dir=both];
}
出来た図も貼り付けておきます。ご参考までに。
*1:なんで大阪なんだろう?