Tukey-Kramer多重比較は、各グループ間の平均値の差を比較するための手法です。
この記事ではRでTukey-Kramer多重比較をする方法と使用例について紹介します。
Tukey-Kramer多重比較
関数と引数
RでTukey-Kramer多重比較を行うには、TukeyHSD
関数を使用します。この関数は、ANOVAの結果を基にして、Tukey-Kramerの事後検定を行います。
# ANOVAを実行
aov_result <- aov(response ~ group, data = data_frame)
# Tukey-Kramerの多重比較
tukey_result <- TukeyHSD(aov_result)
aov
関数の引数
response
: 応答変数(従属変数)group
: 独立変数(グループ)data_frame
: データフレーム
TukeyHSD
関数の引数
aov_result
:aov
関数の結果オブジェクト
使用例
以下は、架空のデータセットを使用した例です。このデータセットには、異なるグループ(A, B, C)に対する応答変数の値が含まれています。
# サンプルデータの作成
set.seed(123)
data <- data.frame(
group = rep(c("A", "B", "C"), each = 10),
value = c(rnorm(10, mean = 10), rnorm(10, mean = 15), rnorm(10, mean = 20))
)
# ANOVAを実行
aov_result <- aov(value ~ group, data = data)
# Tukey-Kramerの多重比較
tukey_result <- TukeyHSD(aov_result)
# 結果の表示
print(tukey_result)
結果の見方
TukeyHSD
関数の結果は、各グループ間の平均値の差、信頼区間、p値が含まれます。以下は結果の一例です。
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = value ~ group, data = data)
$group
diff lwr upr p adj
B-A 5.123456 2.345678 7.901234 0.000123
C-A 9.876543 7.098765 12.654321 0.000001
C-B 4.753086 1.975308 7.530864 0.001234
この結果から、各グループ間の平均値の差(diff)、その差の95%信頼区間(lwrとupr)、および調整済みp値(p adj)を確認できます。調整済みp値が0.05未満の場合、そのグループ間の平均値の差は有意であると判断します。
multcompとcld( )を使ったアルファベットの付け方
Tukey-Kramer多重比較の結果を視覚的に表現するために、グループ間の有意差をアルファベットで示すことがあります。同じアルファベットが付いているグループは、統計的に有意な差がないことを意味します。
例えば、以下のような結果が得られた場合:
$group
diff lwr upr p adj
B-A 5.123456 2.345678 7.901234 0.000123
C-A 9.876543 7.098765 12.654321 0.000001
C-B 4.753086 1.975308 7.530864 0.001234
グループ間の有意差を示すために、次のようにアルファベットを付けることができます。
A: a
B: b
C: b
ここで、グループAとグループBには有意差があり、グループAとグループCにも有意差がありますが、グループBとグループCの間には有意差がないことを示しています。
multcomp
パッケージを使うと、Tukey-Kramer多重比較をさらに簡単に行うことができます。また、cld
関数を使うと、グループ間の有意差を視覚的に示すためのアルファベットを自動的に付けることができます。
インストールとロード
まず、multcomp
パッケージをインストールし、ロードします。
install.packages("multcomp")
library(multcomp)
使用例
multcomp
パッケージとcld
関数を使用して、多重比較を行う例を以下に示します。
# サンプルデータの作成
set.seed(123)
data <- data.frame(
group = factor(rep(c("A", "B", "C"), each = 10)),
value = c(rnorm(10, mean = 10), rnorm(10, mean = 15), rnorm(10, mean = 20))
)
# ANOVAを実行
aov_result <- aov(value ~ group, data = data)
# glht関数を使ってTukey-Kramerの多重比較を行う
tukey_result <- glht(aov_result, linfct = mcp(group = "Tukey"))
# 結果の表示
summary(tukey_result)
# cld関数を使ってアルファベットを付ける
cld_result <- cld(tukey_result)
# 結果の表示
print(cld_result)
結果の視覚化
cld
関数を使うと、グループ間の有意差を示すためのアルファベットが自動的に付与されます。以下はその結果の一例です。
A B C
"a" "b" "c"
この結果から、グループAとグループB、グループAとグループC、グループBとグループCの間に有意差があることが示されています。
今回は、RでTukey-Kramer多重比較をする方法と例を紹介しました。
この記事が少しでもお役に立てたら嬉しいです。