Давайте попробуем этот пример:
set.seed(111)
value = rnbinom(1000,mu=69,size=1)
size = cut(value,10)
gender = rep(c("M","F"),each=500)
table(gender,size)
gender (-0.466,46.6] (46.6,93.2] (93.2,140] (140,186] (186,233] (233,280]
F 244 107 67 42 17 11
M 255 127 64 28 11 8
size
gender (280,326] (326,373] (373,419] (419,466]
F 7 4 0 1
M 4 2 1 0
fisher.test(gender, size)
Error in fisher.test(gender, size) :
FEXACT error 7(location). LDSTP=18480 is too small for this problem,
(pastp=81.1067, ipn_0:=ipoin[itp=68]=79, stp[ipn_0]=80.6036).
Increase workspace or consider using 'simulate.p.value=TRUE'
И, как вы сказали, тест по критерию Шиш с коррекцией:
chisq.test(gender,size)$p.value
[1] 0.3452619
chisq.test(gender,size,correct=TRUE)$p.value
[1] 0.3452619
И на то есть веская причина:
правильное: логическое указание, применять ли исправление непрерывности при вычислении статистики теста c для таблиц 2 на 2
Вы можете использовать simulate.p.value = TRUE
, как указано Dave2e
, и в в этом случае это более или менее нормально, потому что я симулировал под нулем, где нет различий между группами:
Fisher's Exact Test for Count Data with simulated p-value (based on
2000 replicates)
data: gender and size
p-value = 0.3393
alternative hypothesis: two.sided
Что похоже на в основном тест на квадрат с симуляцией распределения:
library(coin)
chisq_test(table(gender,size),distribution = approximate(nresample = 10000))
Approximative Pearson Chi-Squared Test
data: size by gender (F, M)
chi-squared = 10.065, p-value = 0.3263
Если ваши категории упорядочены, вы можете попробовать линейно-линейную ассоциацию, узнайте больше здесь .