このタイプのデータの古典的な検定は、分散分析です。分散分析は、4 つのカテゴリすべての平均が同じである可能性が高いか (帰無仮説を棄却しない)、または少なくとも 1 つの平均が他の平均と異なる可能性があるか (帰無仮説の棄却) を示します。
anova が有意な場合は、多くの場合、Tukey HSD 事後検定を実行して、どのカテゴリが他のカテゴリと異なるかを調べます。Tukey HSD は、多重比較用に調整済みの p 値を生成します。
library(ggplot2)
library(reshape2)
x <- c(2.852672123,0.076840264,1.009542943,0.430716968,5.4016,0.084281843,
0.065654548,0.971907344,3.325405405,0.606504718)
y <- c(0.122615039,0.844203734,0.002128992,0.628740077,0.87752229,
0.888600425,0.728667099,0.000375047,0.911153571,0.553786408);
z <- c(0.766445916,0.726801899,0.389718652,0.978733927,0.405585807,
0.408554832,0.799010791,0.737676439,0.433279599,0.947906524)
w <- c(0.000124984,1.486637663,0.979713013,0.917105894,0.660855127,
0.338574774,0.211689885,0.434050179,0.955522972,0.014195184)
dat = data.frame(x, y, z, w)
mdat = melt(dat)
anova_results = aov(value ~ variable, data=mdat)
summary(anova_results)
# Df Sum Sq Mean Sq F value Pr(>F)
# variable 3 5.83 1.9431 2.134 0.113
# Residuals 36 32.78 0.9105
anova p 値は 0.113 で、"x" カテゴリの Tukey 検定の p 値は同様の範囲にあります。これは、「x」が他のものとは異なるという直感の定量化です。ほとんどの研究者は、p = 0.11 が示唆に富むと判断しますが、それでも偽陽性であるリスクが高すぎます。以下の箱ひげ図と一緒に平均値 (diff 列) の大きな違いは、p 値よりも説得力があることに注意してください。
TukeyHSD(anova_results)
# Tukey multiple comparisons of means
# 95% family-wise confidence level
#
# Fit: aov(formula = value ~ variable, data = mdat)
#
# $variable
# diff lwr upr p adj
# y-x -0.92673335 -2.076048 0.2225815 0.1506271
# z-x -0.82314118 -1.972456 0.3261737 0.2342515
# w-x -0.88266565 -2.031981 0.2666492 0.1828672
# z-y 0.10359217 -1.045723 1.2529071 0.9948795
# w-y 0.04406770 -1.105247 1.1933826 0.9995981
# w-z -0.05952447 -1.208839 1.0897904 0.9990129
plot_1 = ggplot(mdat, aes(x=variable, y=value, colour=variable)) +
geom_boxplot() +
geom_point(size=5, shape=1)
ggsave("plot_1.png", plot_1, height=3.5, width=7, units="in")