使用最大数量的模型项时 MuMIn dredge() 出错
Error in MuMIn dredge() when maximum number of model terms are used
在某些情况下,在 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
dredge
是使用整数的位来指定变量的组合。事实证明,R 的整数被限制在 2^31 - 1,所以错误只发生在最后一轮有 31 个变量的时候。目前,我已将当前版本中的允许限制更改为 30(R-forge)。在某些时候,我会寻找一个允许更多变量的解决方案,但现在这不是优先事项。
在某些情况下,在 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
dredge
是使用整数的位来指定变量的组合。事实证明,R 的整数被限制在 2^31 - 1,所以错误只发生在最后一轮有 31 个变量的时候。目前,我已将当前版本中的允许限制更改为 30(R-forge)。在某些时候,我会寻找一个允许更多变量的解决方案,但现在这不是优先事项。