LEM

ログリニア分析、潜在クラス分析、イベント・ヒストリー分析ができるフリーソフトのLEMのプログラム紹介です。

【注意点】

maximum number of iterationsのdefaultが5000となっているので,

特に大規模調査などのデータ分析ではiterationsの回数を多くする.

【SPSSデータの保存】

SAVE TRANSLATE OUTFILE='D:\LEM\file.dat'

/TYPE=TAB /MAP /REPLACE

/CELLS=VALUES

KEEP= varA .

Topological Model

RCII

RでLEMを動かす

藤原他(2012)にて,以下のようにLEMで繰り返し推定はRを使えば簡単ということを説明しました。

LEMでは、手動であるいは R でプログラムを呼び出すなどして何度も推定を行う必要があるが、Mplus であれ

ば ANALYSIS の STARTS において複数の初期値と最適化法を与えて比較し、そこから大局的な解を得る

ことが可能である(例えば、STARTS = 500 10 とする)。

RからLEMを呼び出して結果をまとめれば良いということですね。具体的にどうするんだということで,

Rのsystemを使ったやり方を紹介します。

setwd("C:/lemwin")

system("C:/lemwin/lem95 examples/HAG90_1A.INP examples/HAG90_1A.OUT")

result <-read.delim("examples/HAG90_1A.OUT")

x<-substr(result[29,1], 25, 40)

LEMの出力をどのようにRで整形したらよいかあまりわかってないのですが,大体こんなかんじです。

なおSeedは時刻をもとに設定されるのだそうですが,どのSeedを用いたかわからないので,あとで結果を再現しようとすると

また繰り返しプログラムを走らせる必要があります。そこで,100か1000個くらい

seedを変えたINPファイルを作成してそれを走らせればいいと思います。これをLEMでしようと思うと大変ですが,

Rなら簡単ですね。

【参考文献】

藤原翔・伊藤理史・谷岡謙.2012.「潜在クラス分析を用いた計量社会学的アプローチ———地位の非一貫性,格差意識,権威主義的伝統主義を例に」『年報人間科学』33:43–68. pdf.

MacでRでLEMを動かす

MacでLEMを動かすことはWineを使えば可能ですが,やはりRから操作したいです.

というわけで,以下のような感じでWine -> Lem95 -> INP -> OUTとしてみました.どうせRで表やグラフを作成するので,

OUTPUTをファイルに保存してまたRで読み込んで適当に処理したほうが楽です.

WineはEasyWineを使用しました.

system("/Applications/EasyWine.app/Contents/Resources/wine/bin/wine lem95 HAG90_1A.INP HAG90_1A.OUT")