我有一个全局模型,我正在尝试挖掘,但我一直得到错误“在疏浚(myglobalmod,计算值=真,跟踪= 2):'global.model‘使用'na.action’= "na.omit”。
我尝试在gam()调用中使用na.action="na.omit“运行全局模型,并将其排除在外(因为它是默认的)。
myglobalmod <- gam(response~ s(x1) + s(x2) + s(x3) + offset(x4), data=mydata, family="tw", na.action="na.omit")
options(na.action=na.omit)
mydredge <- dredge(myglobalmod, evaluate=TRUE, trace=2)
当我没有在gam中包括na.action="na.omit“时,我也得到了一个类似的错误。然后,我尝试使用删除所有NA行的数据子集,但错误相同。
我以前有过疏浚工具,所以我不知道为什么它现在不喜欢na.omit,我使用的是相同的代码。
发布于 2022-08-24 19:26:27
MuMIn
坚持使用na.action = na.fail
,以确保对每个模型使用相同的数据集(如果数据集中保留了NA
值,则可以根据使用的变量对不同的模型使用不同的子集)。您可以在启动之前使用na.omit(mydata)
或mydata[complete.cases(mydata), ]
来消除NA
值(假设数据集中的NA
值仅发生在将用于整个模型的变量中)。
> library(MuMIn)
> m1 <- lm(mpg ~ ., data = mtcars)
> d0 <- dredge(m1)
Error in dredge(m1) :
'global.model''s 'na.action' argument is not set and options('na.action') is "na.omit"
> m1 <- lm(mpg ~ ., data = mtcars, na.action = na.fail)
> d1 <- dredge(m1)
Fixed term is "(Intercept)"
https://stackoverflow.com/questions/73477883
复制相似问题