coseq_JPH {lazy.irt} | R Documentation |
この関数は古典的方法による二つのテスト得点の等化(線形等化法と等百分位法)
を行う。
English help file: (coseq)
coseq( score1, freq1, cdf1=NULL, score2, freq2, cdf2=NULL
, lim1=NULL, lim2=NULL
, smooth1=0, bandwid1=3, smooth2=0, bandwid2=3
, method=2, interpol_method="linear"
, title="", nolow=0, print=1, plot=1 )
score1 |
テスト1の得点からなるベクトル |
freq1 |
テスト1の得点の度数からなるベクトル |
cdf1 |
テスト1の得点の相対累積度数からなるベクトル |
score2 |
テスト2の得点からなるベクトル |
freq2 |
テスト2の得点の度数からなるベクトル |
cdf2 |
テスト2の得点の相対累積度数からなるベクトル |
lim1 |
テスト1の得点の理論的最小値と最大値 |
lim2 |
テスト2の得点の理論的最小値と最大値 |
smooth1 |
テスト1の cdf の移動平均法による平滑化の階数 |
bandwid1 |
移動平均法の幅 |
smooth2 |
テスト2の cdf の移動平均法による平滑化の階数 |
bandwid2 |
移動平均法の幅 |
method |
= 1 線形等化法 |
interpol_method |
= 補間法のオプションで "constant", "linear" or "spline" |
title |
タイトルに使う文字列 |
nolow |
= 1 元の点数を下げない変換を計算する |
print |
= 1 結果を出力 |
plot |
= 1 変換表のプロット |
テスト1の得点 x1
のテスト2の得点e x2
への等百分位法に
よる等化法は以下の様に定義されている。
x21 = invF2( F1(x1) )
ただし、 F1
は x1
の分布関数、invF2
は x2
の
分布関数の逆関数である。
この関数では、invF2
は ( F2(x2), x2 )
の表、
もしくはその平滑化されたものを F1(x1)
で補間することにより求めている。
等百分位法は所謂 QQプロットと同値であり、以下の二つはほぼ同じ結果を返す。
coseq( score1=score1, freq1=freq1, score2=score2, freq2=freq2 ) qqplot( expand_freqdist( score1, freq1 ) , expand_freqdist( score2, freq2 ), type="l" )
なお、R の qqplot
は度数分布の形式のデータを取り扱えないので
lazy.tools::expand_freqdist
を用いて度数分布を素データに変換している。
cdf
の指定が freq
の指定に優先する。
以下の要素を持つリスト
ctable: \code{(score, score21, freq1)} からなる整数化された変換表 ctable0: 整数化される前の変換表 mands: 変換された得点の統計量 newfreq: 変換された得点の度数分布表 \code{(score21, freq21)} sdist1 and sdist2: テストの得点分布(平滑化の結果を含む) cntr: この関数へのパラメタのリスト
出力される ctable
は
テスト1の score1[i]
点がテスト2の score21[i]
点に
等しいことを示している。
set.seed(1701)
x1 <- round( 10*rbeta(500,2,4) )
f1 <- table(x1)
x1 <- as.numeric(names(f1))
x2 <- round( 15*rbeta(1000,4,2) )
f2 <- table(x2)
x2 <- as.numeric(names(f2))
reseq <- coseq( score1=x1, freq1=f1, score2=x2, freq2=f2
, lim1=c(0,10), lim2=c(0,15)
, smooth1=3, smooth2=3, method=2, plot=0 )
# @keywords internal