我正在对大量列联表进行费舍尔精确检验,并为生物信息学问题保存p值。其中一些列联表很大,因此我已经尽可能地增加了工作区域的大小;但是当我运行下面的代码时,我会得到一个错误:
result <- fisher.test(data,workspace=2e9)
LDSTP is too small for this problem. Try increasing the size of the workspace.
如果我增加工作区的大小,会出现另一个错误:
result <- fisher.test(data,workspace=2e10)
cannot allocate memory block of size 134217728Tb
现在我可以模拟p值:
result <- fisher.test(data, simulate.p.value = TRUE, B = 1e5)
但是我担心在某些情况下我的P值可能非常小,因此我需要大量的模拟才能得到准确的结果。
因此我的问题是,是否有办法事先检查一个列联表是否过于复杂而无法精确计算?在这些情况下,我可以使用大量的模拟,例如B=1e10。或者至少跳过那些带有“NA”值的表格,以便我的工作可以顺利完成?