草薙の研究ログ

英語教育関係。でも最近は統計(特にR)ネタが中心。

Rで項目反応理論:ltmパッケージ覚書き

背景

すっげえ便利。びっくらこいた。

ちょっと色々IRTでやんなきゃいけない事案があって(博論?),テストの等価とかやんなきゃいけなくて。

ltmパッケージっていうのがある。素晴らしい。

 

http://cran.r-project.org/web/packages/ltm/ltm.pdf

 

その前に

まあ,まず。

install.packages("ltm")

library(ltm)

0/1のデータをデータフレーム形式でいれる。

dat<-read.table("clipboard",header=T)

準備OK 。

 

だいたい,記述統計の関数が超便利。感動した。

descript(dat)

  1. 項目の反応の比率,logit
  2. 項目毎の点双列相関係数(古典的テスト理論でいうところの項目弁別力のひとつ)excludedとincludedの一覧
  3. 総合得点の分布
  4. 信頼性係数αと項目を落としたときのα

などが全部一気にでる。素晴らしい。

 

 

IPLM

さて,まずIPLM(ラッシュ)。

model<-rasch(dat)

これでだん。項目困難度を出してくれる。

対数尤度とか,BICとかAICや項目困難度の誤差とか欲しい時は,

summary(model)

能力値推定値がほしいときは,

factor.score(model)

項目特性曲線を見るときは,

plot(model)

こんな感じ。

f:id:kusanagik:20141106224935p:plain

plot.fscores(factor.scores(model),include.item=T)

をすると,こんな感じで項目と人のマップを出せる。(ちょっといい感じなテストと人の感じじゃなくて恥ずかしい)

f:id:kusanagik:20141106225121p:plain

もちろん項目のフィットも出せる。

item.fit(model)

 

2PLM

2PLMをやるときは,

model2<-ltm(dat ~ z1)

ただ,弁別力の値には注意が必要ね。1.7で割ると他と一致するみたい。

詳しくは

Rで項目反応理論 - RjpWiki

さて。これも同じように。

plot(model2)

f:id:kusanagik:20141106225539p:plain

なんかでたー。弁別力ない項目多いな―。(まあnも小さいしね)

plot.fscores(factor.scores(model2,include.item=T)

 

f:id:kusanagik:20141106225907p:plain

なんかでたー。

 

3PLM

3PLMも。

 

tpm(dat)

 

でまあやり方は同じ。

便利でいいね。うむ。

 

 

 

まあまだまだあるけど。いいや。