目的 テューキーの方法による線形比較を行う 使用法 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 解説ページ