Тест Макнемара используется для определения наличия статистически значимой разницы в пропорциях между парными данными.
В этом руководстве объясняется, как выполнить тест Макнемара в 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, поэтому мы отвергаем нулевую гипотезу и делаем вывод, что доля людей, поддержавших закон до и после просмотра рекламного видео, статистически значимо различается.