Гипергеометрический тест (фипер)
У меня вопрос по поводу гипергеометрического теста.
У меня есть такие данные:
размер pop: 5260
размер выборки: 131
Количество предметов в поп, которые классифицируются как успехи: 1998
Количество элементов в выборке, которые классифицированы как успешные: 62
Чтобы вычислить гипергеометрический тест, это правильно?
phyper(62, 1998, 5260, 131)
Ответы
Ответ 1
Почти правильно. Если вы посмотрите на ?phyper
:
phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE)
x, q vector of quantiles representing the number of white balls drawn
without replacement from an urn which contains both black and white
balls.
m the number of white balls in the urn.
n the number of black balls in the urn.
k the number of balls drawn from the urn.
Итак, используя ваши данные:
phyper(62,1998,5260-1998,131)
[1] 0.989247
Ответ 2
Я думаю, вы хотите вычислить значение p. В этом случае вы хотите
P(Observed 62 or more) = 1-P(Observed less than 62).
Итак, вы хотите
1.0-phyper(62-1, 1998, 5260-1998, 131)
Обратите внимание, что -1
есть в первых параметрах. А также вам нужно вычесть это из 1.0, чтобы получить область правого хвоста.
Исправьте меня, если я ошибаюсь.
Ответ 3
@Albert,
Чтобы вычислить гипергеометрический тест, вы получите то же значение p, P (наблюдаемое 62 или более), используя:
> phyper(62-1, 1998, 5260-1998, 131, lower.tail=FALSE)
[1] 0.01697598
Потому что:
lower.tail: logical; if TRUE (default), probabilities are P[X <= x],
otherwise, P[X > x]
Ответ 4
Я думаю, что этот тест должен быть следующим:
phyper(62,1998,5260-1998,131-62,lower.tail=FALSE)
Тогда сумма всех строк будет равна сумме всех столбцов.
Это важно при работе с таблицами непредвиденных обстоятельств.
Ответ 5
относительно -1. Я играл с вычислением значения P в R, и действительно, если вы хотите получить значение, которое вы можете вычислить аналитически, это то, что вам нужно сделать,
так что действительно, phpper (61,998,5260-1998,131) для P, что q равно или больше 62
Martijn Huynen