Парные образцы Манн Уитни Уилкоксон Тест не работает - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь выполнить парные U-тесты Манна Уитни.Мои образцы для каждого теста очень разные и по результатам t.test дают разные результаты, но результаты для теста MW идентичны.В отличие от настроек по умолчанию для теста MW работают нормально и дают разные результаты.Есть идеи?Прикрепленный код содержит образец моих общих данных и функцию тестирования.Тест t.test включен, чтобы показать, что тест дает разные результаты:

x1 <- c(26.33323, 26.69508, 26.25390, 18.78399, 24.11386, 23.94950, 
23.77843, 21.09932, 17.71425, 19.03429, 20.01796, 19.86626, 12.84303)
x2 <- c(20.82535, 20.27921, 17.99138, 10.40184, 23.23184, 22.56530, 
18.69153, 18.33580, 13.83343, 18.22934, 15.21738, 10.07495, 9.93721)

y1 <- c(169.73751, 134.85579, 122.62475, 67.87308, 110.10757, 125.72300, 
133.87937, 135.56772, 79.41600, 96.92930, 97.92528, 68.62409, 40.21653)
y2 <- c(92.88698, 54.23404, 51.58410, 21.72830, 72.02835, 70.74432, 
69.52055, 89.59934, 49.08684, 79.98573, 50.58707, 22.80362, 22.49185)

wilcox.test(x1, x2, paired = TRUE)
wilcox.test(y1, y2, paired = TRUE)

t.test(x1, x2, paired = TRUE)
t.test(y1, y2, paired = TRUE)

1 Ответ

0 голосов
/ 20 ноября 2018

Нет, тест выполняется должным образом. Может быть, поможет увидеть арифметику в R wilcox.test.

На примере страницы Википедии приведены шаги wilcox.text(x, y, paired = TRUE) или теста рангов Вилкоксона:

# calculate pair-wise differences
x_diffs <- x1 - x2 
y_diffs <- y1 - y2

# rank them
x_ranks <- rank(x_diffs)
y_ranks <- rank(y_diffs)

# adjust ranks by the original sign of each difference
x_ranks_signed <- rank(x_diffs) * sign(x_diffs)
y_ranks_signed <- rank(y_diffs) * sign(y_diffs)

# sum them for the test statistic
sum(x_ranks_signed)
sum(y_ranks_signed)

В вашем примере оба значения 2 меньше значений 1, поэтому никакие ранги не умножаются на -1, поскольку все дельты являются положительными числами. Поскольку x и y имеют одинаковую длину 13, вы получите одинаковую статистику теста 91 или sum(1:13) для обоих тестов.

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

x3 <- c(28, 29, 17.99138, 10.40184, 23.23184, 22.56530, 
        18.69153, 18.33580, 13.83343, 18.22934, 15.21738, 10.07495, 9.93721)

wilcox.test(x1, x2, paired = T) # same old test statistic and p-value

    Wilcoxon signed rank test

data:  x1 and x2
V = 91, p-value = 0.0002441
alternative hypothesis: true location shift is not equal to 0

wilcox.test(x1, x3, paired = T) # new negative deltas >> new test stat and new p-value

    Wilcoxon signed rank test

data:  x1 and x3
V = 82, p-value = 0.008057
alternative hypothesis: true location shift is not equal to 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...