web-dev-qa-db-ja.com

フィッシャーの直接確率検定エラー:LDSTPが小さすぎます

入力

NN <- c(359,32);JJ <- c(108,13);NNS <- c(103,15);VBN <- c(95,9);RB <- c(63,11);NNP <- c(56,0);VBG <- c(55,10);IN <- c(38,16);VB <- c(20,10);CD <- c(17,6);CC <- c(11,6);DT <- c(11,4);MD <- c(8,5);PRP4 <- c(8,1);PRP <- c(7,4);FW <- c(5,1);VBD <- c(5,3);RBR <- c(4,0);VBP <- c(4,1);VBZ <- c(4,3);WRB <- c(4,2);EX <- c(3,1);NNPS <- c(2,0);WDT <- c(2,3);WP <- c(2,1);PDT <- c(1,1);POS <- c(1,0);RBS <- c(1,0);TO <- c(1,1);UH <- c(0,1)
Finaltable <-
cbind(NN,JJ,NNS,VBN,RB,NNP,VBG,IN,VB,CD,CC,DT,MD,PRP4,PRP,FW,VBD,RBR,VBP,VBZ,WRB,EX,NNPS,WDT,WP,PDT,POS,RBS,TO,UH)
rownames(Finaltable) <- c("tag1","tag2")
Finaltable

chisq.test(Finaltable)


fisher.test(Finaltable)

出力

fisher.test(Finaltable) : FEXACT error 7.
LDSTP is too small for this problem.
Try increasing the size of the workspace.

生データを変更せずにこの問題を解決するにはどうすればよいですか?この比較のためのノンパラメトリック検定はありますか?

15
Choijaeyoung

workspace引数をデフォルト値から増やしてみることができますが、十分に大きくできるかどうかはわかりません(_workspace=2e8_で諦めましたが、それでも失敗します; _workspace=2e9_でメモリが不足しました。)シミュレートされたp値を試すこともできます。 fisher.test(Finaltable,simulate.p.value=TRUE,B=1e7)(たとえば)。ただし、p値が非常に小さいため、限界を超えて実行する場合は、膨大な数のシミュレーション(B)が必要になります。 p値。これも非常に遅くなります。 (ほとんどの目的では、pが_<1e-7_であることを知っていれば十分です-しかし、一部のバイオインフォマティクスのコンテキストでは、人々はpをインデックスとして使用したいと考えています信号強度の測定および/または大規模な複数補正の比較を課します。私はこれらのアプローチが本当に好きではありませんが、そこにあります...)

24
Ben Bolker