テューキーの方法による線形比較     Last modified: Aug 24, 2009

目的

テューキーの方法による線形比較を行う

使用法

tlc(n, m, u, g1, g2, conf.level=0.95)

引数

n           各群のデータ個数のベクトル
m           各群の平均値のベクトル
u           各群の不偏分散のベクトル
g1          第 1 グループの指定
g2          第 2 グループの指定
conf.level  線形比較の信頼区間を計算する信頼率

ソース

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

# テューキーの方法による線形比較
tlc <- function(n,                           # 各群のデータ個数のベクトル
                m,                              # 各群の平均値のベクトル
                u,                              # 各群の不偏分散のベクトル
                g1,                             # 第 1 グループの指定
                g2,                             # 第 2 グループの指定
                conf.level=0.95)                # 線形比較の信頼区間を計算する信頼率
{
        stopifnot(      length(n) == length(m), # データのチェック
                        length(m) == length(u), # n, m, u の要素数は同じでなくてはならない
                        n > 1,                  # 各群の例数は 2 以上でなくてはならない
                        u > 0,                  # 不偏分散は正の値でなくてはならない
                        floor(n) == n,          # 例数は整数でなくてはならない
                        n == n[1],              # 各群の例数は同じでなくてはならない
                        floor(g1) == g1,        # 群の番号は整数でなくてはならない
                        floor(g2) == g2)        # 群の番号は整数でなくてはならない
        method <- "テューキーの方法による線形比較"
        data.name <- paste(deparse(substitute(g1)), "and", deparse(substitute(g2)))
        ng <- length(n)                              # 群の数
        nc <- sum(n)                         # 全例数
        dfw <- nc-ng                         # 群内分散の自由度
        Vw <- sum(u*(n-1))/dfw                       # 群内分散
        n1 <- length(g1)                     # 第 1 グループに含まれる群の数
        n2 <- length(g2)                     # 第 2 グループに含まれる群の数
        g0 <- (1:ng)[-c(g1, g2)]             # どちらのグループにも含まれない群の番号
        n0 <- ng-n1-n2                               # どちらのグループにも含まれない群の数
        weight <- rep(c(1/n1, -1/n2, 0),     # 線形比較の重み
                        c(n1, n2, n0))[order(c(g1, g2, g0))]
        theta <- sum(weight*m)                       # 線形比較 θ
        sq <- sqrt(Vw/n[1])                  # θの標準誤差
        q <- qtukey(1-conf.level, ng, dfw,   # αに対応するステューデント化した範囲
                        lower.tail=FALSE)
        p <- ptukey(abs(theta/sq), ng, dfw,  # P 値
                        lower.tail=FALSE)
        conf.int <- theta-c(1, -1)*q*sq              # θの信頼区間
        return(structure(list(statistic=c(theta=theta), parameter=c(a=ng, df=dfw), p.value=p,
                conf.int=conf.int, method=method, data.name=data.name, contrast=list(g1, g2)),
                class="htest"))
}


使用例

> n <- rep(20, 5)	# 例数ベクトル
> m <- c(35.6, 32.7, 29.4, 27.9, 25.7)	# 平均値ベクトル
> u <- c(5.6, 4.6, 4.9, 3.7, 2.5)	# 不偏分散ベクトル

> tlc(n, m, u, 1:3, 4:5)	# 1,2,3群と4,5群の線形比較

	テューキーの方法による線形比較

data:  1:3 and 4:5 
theta = 5.7667, a = 5, df = 95, p-value = 4.64e-10
 percent confidence interval:
 3.951633 7.581700 

> tlc(n, m, u, 1:2, 4:5)	# 1,2群と4,5群の線形比較

	テューキーの方法による線形比較

data:  1:2 and 4:5 
theta = 7.35, a = 5, df = 95, p-value = 4.635e-10
 percent confidence interval:
 5.534967 9.165033 

・ 解説ページ


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

Made with Macintosh