スティール・ドゥワス(Steel-Dwass)の方法による多重比較 Last modified: Jul 28, 2004
目的
スティール・ドゥワス(Steel-Dwass)の方法による多重比較を行う。
使用法
Steel.Dwass(data, group)
引数
dat データベクトル
group 群を表すベクトル
ソース
インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/Steel-Dwass.R", encoding="euc-jp")
# スティール・ドゥワス(Steel-Dwass)の方法による多重比較
Steel.Dwass <- function(data, # データベクトル
group) # 群変数ベクトル
{
OK <- complete.cases(data, group) # 欠損値を持つケースを除く
data <- data[OK]
group <- group[OK]
n.i <- table(group) # 各群のデータ数
ng <- length(n.i) # 群の数
t <- combn(ng, 2, function(ij) {
i <- ij[1]
j <- ij[2]
r <- rank(c(data[group == i], data[group == j])) # 群 i, j をまとめてランク付け
R <- sum(r[1:n.i[i]]) # 検定統計量
N <- n.i[i]+n.i[j] # 二群のデータ数の合計
E <- n.i[i]*(N+1)/2 # 検定統計量の期待値
V <- n.i[i]*n.i[j]/(N*(N-1))*(sum(r^2)-N*(N+1)^2/4) # 検定統計量の分散
return(abs(R-E)/sqrt(V)) # t 値を返す
})
p <- ptukey(t*sqrt(2), ng, Inf, lower.tail=FALSE) # P 値を計算
result <- cbind(t, p) # 結果をまとめる
rownames(result) <- combn(ng, 2, paste, collapse=":")
return(result)
}
使用例
data <- c(
6.9, 7.5, 8.5, 8.4, 8.1, 8.7, 8.9, 8.2, 7.8, 7.3, 6.8, # 第 1 群のデータ,11 例
9.6, 9.4, 9.5, 8.5, 9.4, 9.9, 8.7, 8.1, 7.8, 8.8, # 第 2 群のデータ,10 例
5.7, 6.4, 6.8, 7.8, 7.6, 7.0, 7.7, 7.5, 6.8, 5.9, # 第 3 群のデータ,10 例
7.6, 8.7, 8.5, 8.5, 9.0, 9.2, 9.3, 8.0, 7.2, 7.9, 7.8 # 第 4 群のデータ,11 例
)
group <- rep(1:4, c(11, 10, 10, 11)) # 群の識別変数
Steel.Dwass(data, group)
出力結果例
> Steel.Dwass(data, group)
t p
1:2 2.680234 0.036960431
1:3 2.539997 0.053980573
1:4 1.282642 0.574011771
2:3 3.746076 0.001031145
2:4 2.046776 0.170965537
3:4 3.384456 0.003976894
参考文献
永田靖・吉田道弘(1997)「統計的多重比較法の基礎」サイエンティスト社
直前のページへ戻る
E-mail to Shigenobu AOKI