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)
- 項目の反応の比率,logit
- 項目毎の点双列相関係数(古典的テスト理論でいうところの項目弁別力のひとつ)excludedとincludedの一覧
- 総合得点の分布
- 信頼性係数αと項目を落としたときのα
などが全部一気にでる。素晴らしい。
IPLM
さて,まずIPLM(ラッシュ)。
model<-rasch(dat)
これでだん。項目困難度を出してくれる。
対数尤度とか,BICとかAICや項目困難度の誤差とか欲しい時は,
summary(model)
能力値推定値がほしいときは,
factor.score(model)
項目特性曲線を見るときは,
plot(model)
こんな感じ。
plot.fscores(factor.scores(model),include.item=T)
をすると,こんな感じで項目と人のマップを出せる。(ちょっといい感じなテストと人の感じじゃなくて恥ずかしい)
もちろん項目のフィットも出せる。
item.fit(model)
2PLM
2PLMをやるときは,
model2<-ltm(dat ~ z1)
ただ,弁別力の値には注意が必要ね。1.7で割ると他と一致するみたい。
詳しくは
さて。これも同じように。
plot(model2)
なんかでたー。弁別力ない項目多いな―。(まあnも小さいしね)
plot.fscores(factor.scores(model2,include.item=T)
なんかでたー。
3PLM
3PLMも。
tpm(dat)
でまあやり方は同じ。
便利でいいね。うむ。
まあまだまだあるけど。いいや。