Как работает симуляция p-значения в chisq.test () и fisher.test () - PullRequest
0 голосов
/ 29 августа 2018

У меня есть таблицы сопряженности RxC. Как работают chisq.test и fisher.test функции при вызове с аргументами simulate.p.value = TRUE, B = 5000?

Я использую приведенный ниже код для подтверждения связи (или независимости) в таблице непредвиденных обстоятельств DATA:

 chisq.test(DATA, simulate.p.value = TRUE, B = 5000, correct = FALSE)
 fisher.test(DATA,hybrid = TRUE, simulate.p.value = TRUE)

Я знаю, что тест может выполнять симуляции Монте-Карло для оценки p-значения теста, я хочу знать, как эти симуляции выполняются внутри, то есть, если симуляции сделаны для достижения нормального распределения или другой дистрибутив для доставки значения p в конце теста?

1 Ответ

0 голосов
/ 23 сентября 2018

В chisq.test и fisher.test моделирование p-значения выполняется непараметрическим способом без предварительного предположения о распределении. Пожалуйста, смотрите выдержку из исходного кода для chisq.test:

if (simulate.p.value) {
    setMETH()
    nx <- length(x)
    sm <- matrix(sample.int(nx, B * n, TRUE, prob = p), 
                 nrow = n)
    ss <- apply(sm, 2L, function(x, E, k) {
      sum((table(factor(x, levels = 1L:k)) - E)^2/E)
    }, E = E, k = nx)
    PARAMETER <- NA
    PVAL <- (1 + sum(ss >= almost.1 * STATISTIC))/(B + 1)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...