我试图挖掘一个安装了glmmTMB的模型,并为每个模型子集不断获得以下警告:“In glmmTMB(...:找不到函数“glmmTMB””和后续错误:“.dredge.par(global.model = m,evaluate = T,rank =“AIC”,m.lim = c(0,:结果为空”
我已经尝试搜索此错误,但似乎我是唯一一个得到它。我已经加载了glmmTMB(版本1.1.7)和MuMIn(版本1.47.5)包,并更新了它们。
下面是我为dredge函数编写的代码:
library(MuMIn)
library(glmmTMB)
library(parallel)
#first create a cluster to parallelize dredge
nCores <- detectCores() - 1
clusterType <- if(length(find.package("snow", quiet = TRUE))) "SOCK" else "PSOCK"
clust <- try(makeCluster(getOption("cl.cores", nCores), type = clusterType))
#model
m <- glmmTMB(Used ~ x1 + x2 + x3 + x4 + x5 + x6 +
x7 + x8 + x1*x2 + (1|group), data = data,
family = binomial)
options(na.action = "na.fail")
dredged43 <- dredge(m, beta = "sd", evaluate = T, rank = "AIC", m.lim = c(0,9),
trace = 2, cluster = clust)
options(na.action = "na.omit")
这里是一些可重复性的数据:
set.seed(101)
data <- data.frame(Used = factor(sample(0:1,size=200,replace=T)),
x1=factor(sample(0:1,size=200,replace=T)),x2=rnorm(200),x3=rnorm(200),
x4=rnorm(200),x5=rnorm(200),x6=rnorm(200),x7=rnorm(200),
x8=rnorm(200), group=factor(rep(1:10,each=20)))
我觉得这可能只是我的一个软件包版本的一些奇怪的错误,但任何建议都是有用的。谢谢!
1条答案
按热度按时间tkclm6bt1#
你几乎肯定需要像
在发出
dredge
命令之前。如help file pointed out in the comments所示,用于拟合global.model的所有依赖关系,包括建模函数将使用的数据和任何对象,必须导出到集群工作节点(例如,通过
clusterExport
)。所需的软件包也必须加载到其中(例如通过clusterEvalQ(..., library(package)
),然后pdredge
使用该群集。