Wilcoxon検定 - アールメカブ

アールメカブ


Wilcoxon検定

ウィルコクスンの符合付き順位検定

# ウィルコクスンの符合付き順位和検定 

# データが次のように与えられているとして

tmpC <- c(54,49,73,65,89,85,78,93,60,79,84)
tmpD <- c(61,47,64,60,77,85,70,95,56,73,79)

# 差を求める

 tmpCD <- tmpC -tmpD

# 差の絶対値を昇順に並べる

rankCD <- rank(abs(tmpCD[tmpCD != 0])) # 差の絶対値を昇順に並べる
                                       # ただし 0 は含まない
N <- length(rankCD)
tmpFlag <- ifelse( tmpCD[tmpCD != 0] > 0, -1, 1) # 差の符号を取得
length(tmpCD)

# 符号付きランクを作成

rankCD <- rankCD * tmpFlag            
Tplus <- sum(rankCD[rankCD>0])
Tminus <- sum(rankCD[rankCD<0])*-1
Tsmall <- ifelse(Tplus > Tminus, Tminus, Tplus) 
 # この数値が表に記載の数値よりも小さければ有意

# 正規近似する場合は

(wilcoxZ <-  abs(Tsmall - N*(N+1)/4) / sqrt( N*(N+1)*(2*N+1) /24 ))

あるいは

 (wilcoxZ <- sum(rankCD) / sqrt(sum(rankCD^2)))

pnorm(wilcoxZ,0,1) * 2 # 片側なら 2 倍する

青木先生のページも関連情報はある. http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc023/008.html

 
Link: 日録2007_11月(5984d)
Last-modified: 2007-11-02 (金) 08:50:08 (6013d)