0

MuMIn パッケージで dredge() または pdredge() を使用している場合に、 MuMInという奇妙なエラーが発生します。

Error in while ((iComb <- iComb + 1L) < ncomb) { : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In iComb + 1L : NAs produced by integer overflow   

このエラーは、グローバル モデルに 31 の異なる項 (環境の主効果、5 つの遺伝子の主効果、5 つの遺伝子 - 環境相互作用、10 の遺伝子 - 遺伝子相互作用、および 10 の遺伝子 - 遺伝子 - 環境相互作用) が含まれている場合に発生します。dredge() で許可される項の最大数は 31 です。

このエラーは、おそらくほぼ完了している約 30 時間後にプロセスを強制終了します。グローバル効果が 15 項 (5 つの遺伝子の主な効果、10 の遺伝子間相互作用) に削減される場合、エラーはありません。私のデータセットには欠損データはありません。

このエラーの意味や解決方法を知っている人はいますか?

これは私のスクリプトでした:

# Full model has 31 terms
Full <- lm(DTH ~ Environment + PpdD1 + PpdB1 + PpdA1 + RhtB1 + RhtD1 + 
               PpdD1:PpdB1 + PpdD1:PpdA1 + PpdD1:RhtB1 + PpdD1:RhtD1 + PpdB1:PpdA1 + 
               PpdB1:RhtB1 + PpdB1:RhtD1 + PpdA1:RhtB1 + PpdA1:RhtD1 + RhtB1:RhtD1 + 
               PpdD1*PpdB1*Environment + PpdD1*PpdA1*Environment + PpdD1*RhtB1*Environment + 
               PpdD1*RhtD1*Environment + PpdB1*PpdA1*Environment + PpdB1*RhtB1*Environment + 
               PpdB1*RhtD1*Environment + PpdA1*RhtB1*Environment + PpdA1*RhtD1*Environment + 
               RhtB1*RhtD1*Environment, data=data)    
# Model selection using MuMIN package
options(na.action = "na.fail")
AllModels <- dredge(Full, rank="AIC") # Not run in parallel
AllModels
4

1 に答える 1

0

dredge変数の組み合わせを指定するために整数のビットを使用しています。結局のところ、R の整数は 2^31 - 1に制限されているため、エラーは 31 個の変数を使用した最後のラウンドでのみ発生しました。今のところ、現在のバージョン (R-forge 上) で許可される制限を 30 に変更しました。ある時点で、より多くの変数を許可する解決策を探す予定ですが、それは今の優先事項ではありません。

于 2016-01-21T23:50:24.740 に答える