ウィリアムズの方法による多重比較     Last modified: Aug 02, 2004

目的

ウィリアムズの方法による多重比較を行う。

使用法

Williams(data, group, method=c("up", "down"))

引数

data     データベクトル
group    群を表すベクトル
method   "up", "down" のいずれか。

ソース

インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/Williams.R", encoding="euc-jp")

# ウィリアムズの方法による多重比較を行う
Williams <- function(        data,                           # データベクトル
                        group,                          # 群を表すベクトル
                        method=c("up", "down"))         # 方法の指定
{
        OK <- complete.cases(data, group)            # 欠損値を持たないケースを選択する
        data <- data[OK]
        group <- group[OK]
        method <- match.arg(method)                  # 引数の補完
        func <- if (method == "down") min else max   # 引数により,min か max かを選ぶ
        n.i <- tapply(data, group, length)           # 各群の例数
        sum.i <- tapply(data, group, sum)            # 群ごとの総和
        mean.i <- tapply(data, group, mean)          # 群ごとの平均値
        v.i <- tapply(data, group, var)                      # 群ごとの不偏分散
        a <- length(n.i)                             # 群の数        
        phi.e <- sum(n.i)-a                          # 誤差分散の自由度
        v.e <- sum((n.i-1)*v.i)/phi.e                        # 誤差分散
        t <- sapply(a:2,                             # t 値を計算
                    function(p) (func(cumsum(rev(sum.i[2:p]))/cumsum(rev(n.i[2:p]))) - mean.i[1])/sqrt(v.e*(1/n.i[1]+1/n.i[p])))
        names(t) <- c(a:2)                           # 名前を付ける
        return(list(phi.e=phi.e, t=if (method == "down") -t else t))
}


使用例

data <- c(
	415, 380, 391, 413, 372, 359, 401, # 第 1 群(対照群)のデータ,7 例
	387, 378, 359, 391, 362, 351, 348, # 第 2 群(処理群)のデータ,7 例
	357, 379, 401, 412, 392, 356, 366, # 第 3 群(処理群)のデータ,7 例
	361, 351, 378, 332, 318, 344, 315, # 第 4 群(処理群)のデータ,7 例
	299, 308, 323, 351, 311, 285, 297  # 第 5 群(処理群)のデータ,7 例
)
group <- rep(0:4, each=7)
Williams(data, group, method="down")

出力結果例

> Williams(data, group, method="down")
$phi.e
[1] 30

$t
       5        4        3        2
7.076038 4.217674 1.416478 1.969095

・ 参考文献
永田靖・吉田道弘(1997)「統計的多重比較法の基礎」サイエンティスト社


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh