この記事では、Tukey-Kramerの多重比較の方法について解説しています。
Tukey-Kramerの多重比較とは
Tukey-Kramerの多重比較検定(Tukey's HSD:Honest Significant Difference)は、複数のグループ間の平均値の差を全群比較するための方法です。これにより、どのグループ間の平均値が統計的に有意に異なるかを明らかにすることができます。
前提条件
Tukey-Kramerの多重比較を実施する際には以下の条件を確認します。
- 正規性:データが正規分布に従っていること。
- 等分散性:2つの群のデータが等分散であること。
- 群数:3群以上。
- データ尺度:データが間隔尺度または比率尺度であること。
仮説の設定
Tukey-Kramerの多重比較では次の仮説を設置し、全群で比較を行います。
- 帰無仮説(H0):2つの群の平均に差はない。
- 対立仮説(H1):2つの群の平均に差がある。
分散分析との違い
分散分析では、全体のF値とp値を計算し、グループ間に差があるかどうかを確認します。一方、多重比較では、具体的にどのグループ間に有意差があるかを検定します。つまり、分散分析表が全体の差異を確認するのに対し、多重比較は個々の差異を確認するためのものです。
分散分析の結果が有意であった時に、事後検定としてTukeyの多重比較を行うと、検定の多重性問題が生じます。
RでTukey-Kramerの多重比較
Rを使ってTukey-Kramerの多重比較を行う方法を紹介します。
関数と引数オプション
RでTukey-Kramerの多重比較を行うには、TukeyHSD()
関数を使用します。
この関数は次のような引数があります。
TukeyHSD(x, which, ordered = FALSE, conf.level = 0.95, ...)
x
: 適合したモデルオブジェクト、通常はaov
でフィットされたもの。which
: 適合したモデル内の用語をリストする文字ベクトル。デフォルトはすべての用語。ordered
: ファクターのレベルをサンプル内の平均値の増加順に並べるかどうかを示す論理値。ordered
がTRUE
の場合、計算された平均の差はすべて正の値になります。有意な差は、下限点が正の値であるものです。conf.level
: 使用するファミリー全体の信頼水準を示す、0から1の間の数値。
コード例と結果の見方
# サンプルデータの作成
group <- factor(rep(1:3, each = 5))
value <- c(5.1, 5.5, 5.8, 6.0, 6.1, 6.2, 6.4, 6.5, 6.6, 6.9, 7.0, 7.1, 7.3, 7.4, 7.5)
# 分散分析の実行
aov_result <- aov(value ~ group)
# Tukey HSDの実行
tukey_result <- TukeyHSD(aov_result)
tukey_result
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = value ~ group)
$group
diff lwr upr p adj
2-1 0.82 0.309143 1.330857 0.0028250
3-1 1.56 1.049143 2.070857 0.0000087
3-2 0.74 0.229143 1.250857 0.0058906
有意水準が5%とするとき、p値が0.05より小さい場合に帰無仮説を棄却し、2つの群の平均に有意な差があると結論づけます。この例では、全ての群間で有意な差があると結論できます。
多重比較の結果に添字をつける
multcomp
パッケージを使うと、多重比較の結果に添字をつけることができます。
# 必要なパッケージの読み込み
install.packages("multcomp")
library(multcomp)
# 分散分析の実行
aov_result <- aov(value ~ group)
# 多重比較の実行
glht_result <- glht(aov_result, linfct = mcp(group = "Tukey"))
summary(glht_result)
# 多重比較の結果
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Tukey Contrasts
Fit: aov(formula = value ~ group)
Linear Hypotheses:
Estimate Std. Error t value Pr(>|t|)
2 - 1 == 0 0.8200 0.1915 4.282 0.00275 **
3 - 1 == 0 1.5600 0.1915 8.147 < 0.001 ***
3 - 2 == 0 0.7400 0.1915 3.865 0.00576 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
# 添字の結果
1 2 3
"a" "b" "c"
結果の見方
cld()
関数を使うことで、各グループがどのように分類されるかを視覚的に確認できます。添字が同じグループ同士は有意差がないことを示します。
今回の分析の結果は、同じ添字が含まれないので、全てのグループ間に有意な差があると結論できます。
この記事は多重比較について紹介しました。
次回はマンホイットニーのU検定の方法について紹介します。
この記事が少しでもお役に立てたら嬉しいです。