Условный или безусловный точный тест в R
У меня есть таблица непредвиденных обстоятельств 2x2, и я хочу вычислить, существенно ли отличается пара внутри. я сделал матрицу, похожую на следующую с именем raw_matrix
CNS random
Not_H3K4 343 28825
H3K4 11 2014
Создайте эту матрицу, таким образом:
raw_matrix = structure(c(343, 11, 28825, 2014),
.Dim = c(2L, 2L), .Dimnames = list(
c("NotH3K", "H3K"), c("CNS", "Random")))
когда я искал, безусловные точные тесты, такие как точные тесты Барнарда и Бошлоо, являются наиболее мощным тестом для этой цели. я установил пакет 'Exact' и попытался выполнить тест с помощью этой команды:
exact.test(raw_matrix)
на компьютере с 64 Гб оперативной памяти и процессором с тактовой частотой 3,5 ГГц прошло более получаса, и, наконец, возникла следующая ошибка:
Error: cannot allocate vector of size 42.0 Gb
In addition: Warning messages:
1: In matrix(A[xTbls + 1, ] * B[yTbls + 1, ], ncol = length(int)) :
Reached total allocation of 61417Mb: see help(memory.size)
2: In matrix(A[xTbls + 1, ] * B[yTbls + 1, ], ncol = length(int)) :
Reached total allocation of 61417Mb: see help(memory.size)
3: In matrix(A[xTbls + 1, ] * B[yTbls + 1, ], ncol = length(int)) :
Reached total allocation of 61417Mb: see help(memory.size)
4: In matrix(A[xTbls + 1, ] * B[yTbls + 1, ], ncol = length(int)) :
Reached total allocation of 61417Mb: see help(memory.size)
Затем я установил пакет 'Exact2x2' и провел тест с помощью этой команды:
exact2x2(raw_matrix)
который дал мне следующие результаты:
Two-sided Fisher's Exact Test (usual method using minimum likelihood)
data: raw_matrix
p-value = 0.006433
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
1.2028 4.2424
sample estimates:
odds ratio
2.178631
но, как я прочитал в учебнике "Точный пакет", точный тест Фишера, который является условным точным тестом, не так силен. наконец, я выполнил обычный тест хи-квадрат с помощью команды chisq.test(raw.matrix), которая дала следующие результаты, которые отличаются от результатов теста Фишера:
Pearson's Chi-squared test with Yates' continuity correction
data: test_1
X-squared = 6.2045, df = 1, p-value = 0.01274
Я генетик, а не эксперт в области статистики, я ценю, если кто-нибудь может сказать мне, какова лучшая стратегия здесь, чтобы сделать этот тест
0 ответов
Это было много, но я закончил изучать эту тему, поэтому думаю, что могу поделиться тем, что обнаружил.
Таблица, которую вы показали, выглядит безусловной (то есть вы заранее не знали суммы строк или столбцов), это нормально, но она требует безусловного теста. Это единственный вопрос, который мы должны задать перед построением таблицы сопряженности: суммы для строк или столбцов известны из экспериментального проекта?,
Тест Фишера является полностью условным, в этом случае он может быть противоположным (и он использовался почти для всех параметров, кроме эксперимента " дегустация чая для леди ").
Пирсона, кажется, подходит для этого случая (основные проблемы касаются небольших чисел в ячейках, например, <5, так что должно быть в порядке), тем не менее, он широко используется, даже если это почти никогда не лучший выбор.
Точные безусловные тесты были бы лучше (интересно, насколько лучше), но, похоже, числа достаточно велики, чтобы вызвать вычислительные проблемы, так что у Пирсона это так.