gpt4 book ai didi

r - 如何避免 R fisher.test 工作区错误

转载 作者:行者123 更新时间:2023-12-05 04:12:30 26 4
gpt4 key购买 nike

我正在对大量列联表执行费舍尔精确检验,并为生物信息学问题保存 p-val。其中一些列联表很大,所以我尽可能地增加了工作空间;但是当我运行以下代码时出现错误:

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

现在我可以模拟 pvals:

result <- fisher.test(data, simulate.p.value = TRUE, B = 1e5)

但恐怕我需要大量的模拟才能得到准确的结果,因为在某些情况下我的 pval 可能非常小。

因此我的问题是是否有某种方法可以先发制人地检查列联表是否太复杂而无法准确计算?仅在这些情况下,我可以切换到使用 B=1e10 或其他东西的大量模拟。或者至少跳过那些值为“NA”的表,以便我的工作真正完成?

最佳答案

也许您可以使用 tryCatchfisher.test 失败时获得所需的行为?可能是这样的:

tryCatchFisher<-function(...){
tryCatch(fisher.test(...)$p.value,
error = function(e) {'too big'})
}

关于r - 如何避免 R fisher.test 工作区错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40241566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com