当使用最大数量的模型术语时,MuMIn dredge()出错

时间:2016-01-20 04:14:39

标签: r mumin

在MuMIn包中使用dredge()或pdredge()的某些情况下,我得到了一个像Strange error with Dredge: 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个基因 - 基因 - 环境相互作用)时,会发生此错误。 31是dredge()允许的最大术语数。

错误在大约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

1 个答案:

答案 0 :(得分:0)

dredge使用整数位来指定变量组合。事实证明,R的整数限制为2 ^ 31 - 1 ,因此错误仅发生在最后一轮有31个变量的情况下。目前,我已在当前​​版本中将允许限制更改为30(在R-forge上)。在某些时候,我会寻找一个允许更多变量的解决方案,但现在不是优先考虑。