Среднее значение для нескольких серий с помощью теста ANOVA и Tukey HSD в R

В R у меня есть четыре числовых вектора. Я хочу проверить, являются ли средние значения этих четырех векторов одинаковыми или нет, а если нет, то какое из них больше, а какое - меньше (в основном я хочу ранжировать четыре вектора по ним).

Этот пост вполне подходит для меня:

http://brownmath.com/stat/anova1

Я следую этому руководству:

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

Тем не менее, этот пост останавливается на тестировании, если четыре средних равны или нет, но если ответ не так, как я могу узнать, какое среднее значение больше, а какое меньше в 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)

1 ответ

Решение

Я предполагаю, что предположения выполнены, в частности, что невязки независимы и что распределение невязок гомоскедастично и достаточно похоже на нормальное распределение.

Во-первых, обратите внимание, что ваш ANOVA возвращает значение р 0,99, что означает, что между групповыми значениями нет существенной разницы. Если значение 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"

Опять же, поскольку в вашем примере нет ничего существенного, все уровни факторов получают одну и ту же букву.

Другие вопросы по тегам