Как выполнить поправку Бонферрони в R

Как выполнить поправку Бонферрони в R

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

Если общее значение p из таблицы ANOVA меньше некоторого уровня значимости, то у нас есть достаточно доказательств, чтобы сказать, что по крайней мере одно из средних значений групп отличается от других.

Однако это не говорит нам, какие группы отличаются друг от друга. Это просто говорит нам, что не все средние группы равны.

Чтобы выяснить, какие именно группы отличаются друг от друга, мы должны провести попарные t-тесты между каждой группой , контролируя при этом частоту ошибок для всей семьи .

Один из наиболее распространенных способов сделать это — использовать поправку Бонферрони при вычислении p-значений для каждого из парных t-тестов.

В этом руководстве объясняется, как выполнить коррекцию Бонферрони в R.

Пример: поправка Бонферрони в R

Предположим, учитель хочет знать, приводят ли три разных метода обучения к разным экзаменационным баллам у студентов.

Чтобы проверить это, она случайным образом поручает 10 ученикам использовать каждый метод обучения. После одной недели использования назначенной им методики обучения каждый учащийся сдает один и тот же экзамен.

Мы можем использовать следующие шаги в R, чтобы подобрать однофакторный дисперсионный анализ, и использовать поправку Бонферрони для вычисления попарных различий между экзаменационными баллами каждой группы.

Шаг 1: Создайте набор данных.

В следующем коде показано, как создать набор данных, содержащий результаты экзаменов для всех 30 учащихся:

#create data frame
data <- data.frame(technique = rep (c("tech1", "tech2", "tech3"), each = 10 ),
 score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89,
 81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
 77, 78, 79, 88, 89, 90, 91, 95, 95, 98))

#view first six rows of data frame
head(data)

 technique score
1 tech1 76
2 tech1 77
3 tech1 77
4 tech1 81
5 tech1 82
6 tech1 82

Шаг 2: Визуализируйте результаты экзаменов для каждой группы.

В следующем коде показано, как создавать диаграммы для визуализации распределения баллов по экзаменам для каждой группы:

boxplot(score ~ technique,
 data = data,
 main = "Exam Scores by Studying Technique",
 xlab = "Studying Technique",
 ylab = "Exam Scores",
 col = "steelblue",
 border = "black")
Поправка Бонферрони в R

Шаг 3: Выполните односторонний ANOVA.

В следующем коде показано, как выполнить однофакторный дисперсионный анализ для проверки различий между средними баллами за экзамен в каждой группе:

#fit the one-way ANOVA model
model <- aov(score ~ technique, data = data)

#view model output
summary(model)

 Df Sum Sq Mean Sq F value Pr(>F) 
technique 2 211.5 105.73 3.415 0.0476 \*
Residuals 27 836.0 30.96 
---
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1

Поскольку общее p-значение ( 0,0476 ) меньше 0,05, это указывает на то, что у каждой группы разные средние баллы за экзамен.

Далее мы выполним парные t-тесты, используя поправку Бонферрони для p-значений, чтобы вычислить попарные различия между экзаменационными баллами каждой группы.

Шаг 4: Выполните парные t-тесты.

Для выполнения попарных t-тестов с поправкой Бонферрони в R мы можем использовать функциюpairwise.t.test() , которая использует следующий синтаксис:

pairwise.t.test(x, g, p.adjust.method="bonferroni")

куда:

  • x: числовой вектор значений ответа.
  • g: вектор, определяющий имена групп (например, техника обучения)

Следующий код показывает, как использовать эту функцию для нашего примера:

#perform pairwise t-tests with Bonferroni's correction
pairwise.t.test(data$score, data$technique, p.adjust.method=" bonferroni ")

 Pairwise comparisons using t tests with pooled SD 

data: data$score and data$technique 

 tech1 tech2
tech2 0.309 - 
tech3 0.048 1.000

P value adjustment method: bonferroni

Способ интерпретации вывода следующий:

  • Скорректированное значение p для средней разницы в экзаменационных баллах между техникой 1 и техникой 2 составляет 0,309 .
  • Скорректированное значение p для средней разницы в экзаменационных баллах между техникой 1 и техникой 3 составляет 0,048 .
  • Скорректированное значение p для средней разницы в экзаменационных баллах между техникой 2 и техникой 3 составляет 1,000 .

Основываясь на выводе, мы видим, что единственная существенная разница заключается между методом 1 и методом 3.

Дополнительные ресурсы

Введение в однофакторный дисперсионный анализ
Как провести односторонний дисперсионный анализ в R
Как выполнить тест Тьюки в R
Как выполнить тест Даннета в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.