目的 スティール・ドゥワス(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)「統計的多重比較法の基礎」サイエンティスト社