Как выполнить тест Макнемара в R


Тест Макнемара используется для определения наличия статистически значимой разницы в пропорциях между парными данными.

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

Пример: тест Макнемара в R

Предположим, исследователи хотят знать, может ли определенное маркетинговое видео изменить мнение людей о том или ином законе. Они опрашивают 100 человек, чтобы выяснить, поддерживают они закон или нет. Затем они показывают маркетинговое видео всем 100 людям и снова опрашивают их, когда видео заканчивается.

В следующей таблице показано общее количество людей, поддержавших закон как до, так и после просмотра видео:

|  | До маркетингового видео | | --- | --- | | После маркетингового видео | Поддерживать | Не поддерживать | | Поддерживать | 30 | 40 | | Не поддерживать | 12 | 18 |

Чтобы определить, была ли статистически значимая разница в доле людей, поддержавших закон до и после просмотра видео, мы можем провести тест Макнемара.

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

Сначала создайте набор данных в матричной форме.

#create data
data <- matrix(c(30, 12, 40, 18), nrow = 2,
 dimnames = list("After Video" = c("Support", "Do Not Support"),
 "Before Video" = c("Support", "Do Not Support")))

#view data
data

 Before Video
After Video Support Do Not Support
 Support 30 40
 Do Not Support 12 18

Шаг 2: Выполните тест Макнемара.

Затем выполните тест Макнемара, используя следующий синтаксис:

mcnemar.test(x, y = NULL, правильно = TRUE)

куда:

  • x : либо двумерная таблица непредвиденных обстоятельств в матричной форме, либо факторный объект.
  • y : факторный объект; игнорируется, если x является матрицей.
  • правильно : TRUE = применять поправку на непрерывность при вычислении тестовой статистики; FALSE = не применять коррекцию непрерывности.

Как правило, поправку на непрерывность следует применять, когда некоторые значения в таблице малы. Как показывает опыт, эта коррекция обычно применяется, когда количество клеток в любом из них меньше 5.

Мы проведем тест Макнемара как с поправкой на непрерывность, так и без нее, просто чтобы проиллюстрировать различия:

#Perform McNemar's Test with continuity correction
mcnemar.test(data)

 McNemar's Chi-squared test with continuity correction

data: data
McNemar's chi-squared = 14.019, df = 1, p-value = 0.000181

#Perform McNemar's Test without continuity correction 
mcnemar.test(data, correct=FALSE) 

 McNemar's Chi-squared test

data: data
McNemar's chi-squared = 15.077, df = 1, p-value = 0.0001032

В обоих случаях p-значение теста меньше 0,05, поэтому мы отвергаем нулевую гипотезу и делаем вывод, что доля людей, поддержавших закон до и после просмотра рекламного видео, статистически значимо различается.

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