我在 R 中使用带有模拟 p 值的 Fisher 精确检验时遇到问题,但我不知道这是否是由“技术”( R )引起的,或者它是否(统计上)打算以这种方式工作。
我想使用的数据集之一:
matrix(c(103,0,2,1,0,0,1,0,3,0,0,3,0,0,0,0,0,0,19,3,57,11,2,87,1,2,0,869,4,2,8,1,4,3,18,16,5,60,60,42,1,1,1,1,21,704,40,759,404,151,1491,9,40,144),ncol=2,nrow=27)
无论我多久重复一次测试,得到的 p 值总是相同的:
p = 1 / (B+1)
(B = number of replicates used in the Monte Carlo test)
当我缩短矩阵时,如果行数低于 19,它会起作用。不过,这与矩阵中单元格的数量无关。将其转换为具有 3 列的矩阵后,它仍然不起作用,尽管在仅两列中使用相同的数字时它会起作用。
改变模拟 p 值:
>a <- matrix(c(103,0,2,1,0,0,1,0,3,0,0,3,0,0,0,0,0,0,869,4,2,8,1,4,3,18,16,5,60,60,42,1,1,1,1,21),ncol=2,nrow=18)
>b <- matrix(c(103,0,2,1,0,0,1,0,3,0,0,3,0,0,0,0,0,0,19,869,4,2,8,1,4,3,18,16,5,60,60,42,1,1,1,1,21,704),ncol=2,nrow=19)
>c <- matrix(c(103,0,2,1,0,0,1,0,3,0,0,3,0,0,0,0,0,0,869,4,2,8,1,4,3,18,16,5,60,60,42,1,1,1,1,21),ncol=3,nrow=12)
>fisher.test(a,simulate.p.value=TRUE)$p.value
a
和中的单元数b
相同,但模拟仅适用于矩阵 a。有谁知道这是统计问题还是R
问题,如果是,如何解决?
感谢您的建议