2

R には、4 つの数値ベクトルがあります。これらの 4 つのベクトルの平均が同じかどうかをテストしたいと思います。そうでない場合は、どの平均が大きく、どの平均が小さいかをテストします (基本的に、それらの平均で 4 つのベクトルをランク付けしたいと思います)。

この投稿は私に非常に適しています:

http://brownmath.com/stat/anova1

私はこのガイドに従っています:

https://www.r-bloggers.com/analysis-of-variance-anova-for-multiple-comparisons/

ただし、この投稿は 4 つの平均が等しいかどうかのテストで終わりますが、答えが等しくない場合、どの平均が R で大きく、どの平均が小さいかをどのように知ることができますか?

どうもありがとうございました、

投稿のコードは次のとおりです。

a = c(65, 48, 66, 75, 70, 55)
b = c(64, 44, 70, 70, 68, 59)
c = c(60, 50, 65, 69, 69, 57)
d = c(62, 46, 68, 72, 67, 56)

dati = c(a, b, c, d)
groups = factor(rep(letters[1:4], each = 6))

fit = lm(formula = dati ~ groups)
anova (fit)
4

1 に答える 1

3

特に、残差が独立しており、残差の分布が等分散であり、正規分布に十分に類似しているという仮定が満たされていると仮定します。

最初に、ANOVA が 0.99 の p 値を返すことに注意してください。これは、グループ平均間に有意差がないことを意味します。p 値が 0.05 未満の場合は、ペアワイズ比較の事後検定を実行できます。

TukeyHSD(aov(fit))
#  Tukey multiple comparisons of means
#    95% family-wise confidence level
#
#Fit: aov(formula = fit)
#
#$groups
#          diff       lwr      upr     p adj
#b-a -0.6666667 -15.68081 14.34748 0.9992898
#c-a -1.5000000 -16.51415 13.51415 0.9921250
#d-a -1.3333333 -16.34748 13.68081 0.9944302
#c-b -0.8333333 -15.84748 14.18081 0.9986181
#d-b -0.6666667 -15.68081 14.34748 0.9992898
#d-c  0.1666667 -14.84748 15.18081 0.9999888

もちろん、ここでは重要なことは何もありません。

もう少し強力なのは multcomp パッケージです。異なるペアごとの比較を定義できます。また、表や図でよく見かけるグループ文字も表示できます。

library(multcomp)
pairwise <- glht(fit, linfct = mcp(groups = "Tukey"))
summary(pairwise)
cld(pairwise)
#  a   b   c   d 
#"a" "a" "a" "a"

繰り返しますが、あなたの例には重要なものがないため、すべての因子レベルが同じ文字になります。

于 2016-11-23T08:33:57.953 に答える