■ 分析前にやっておくこと
(1) Rのインストール
(2) 作業ディレクトリの確認と変更をしておく
(3) 作業ディレクトリにデータを入れておく
(4) 必要なパッケージをインストールしておく
データの読み込み
書籍使用データ(右クリックで「別名で保存」して作業ディレクトリに入れる)
dat <- read.csv("ch15rasch.csv", header=TRUE, fileEncoding="CP932") # fileEncoding="CP932"はMacの場合入れる dat <- dat[,-1] #ID以外の列を対象にする
もしくは,Excel を開いてデータ範囲をコピーしてから読み込む
(クリップボードからのデータ読み込み)
Macの場合
dat <- read.table(pipe("pbpaste"), header=TRUE) #header=TRUEで変数名を含む,FALSEにすると含まない
Windowsの場合
dat <- read.table("clipboard", header=TRUE) #header=TRUEで変数名を含む,FALSEにすると含まない
合計点の計算と記述統計
total <- apply(dat, 1, sum) # 1 は行を対象という指示 total # 合計点 library(psych) # psychパッケージ使用 describe(total) # 記述統計
その他の記述統計はこちらを参照
古典的テスト理論(信頼性係数や項目困難度)
library(CTT) # 古典的テスト理論CTTパッケージを使用 ctt <- reliability(dat, itemal = TRUE, NA.Delete = TRUE) ctt #クロンバックのアルファ ctt[4] # 平均 ctt[5] # 標準偏差 ctt[6] # 項目が削除された場合のアルファ ctt[7] # 項目-全体得点相関係数 ctt[8] # 正答率(項目困難度)
ラッシュ・モデルによる分析実行
library(eRm) # eRmパッケージを使用 res <- RM(dat) # ラッシュモデルで項目難度と能力値を推定 summary(res) # 項目難度 # Q1はItem Easiness Parameters (beta) with 0.95 CI:の # beta Q01の±を逆にして確認 p.res <- person.parameter(res) print(p.res) # 素点と能力値の比較 summary(p.res) # 能力値 plot(p.res) # 素点と能力値の関係をプロット
※ 母数推定の方法が違うため,Winsteps で分析した結果とは若干数値が異なる。
フィットの確認
#Item fit itemfit(p.res) #Person fit personfit(p.res)
可視化
# Person-Item Map(ラッシュ・モデルで最もよく使われる) res <- PCM(dat) plotPImap(res, sorted=TRUE) # Pathway Map (Bond & Fox, 2001, 2007 参照) res <- PCM(dat) pparm <- person.parameter(res) plotPWmap(res, pp=pparm) plotPWmap(res, pp=pparm, pmap=TRUE) # Item characteristic curves (ICC) Plot library(ltm) # ltmパッケージを使用 plot.rasch(rasch(dat))
※ eRm パッケージにも plotICC(res) があるが,あまり美しくない。
(参考)Rで項目反応理論