R语言 使用MuMIn疏通功能时出错:找不到函数glmmTMB

2ledvvac  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(263)

我试图挖掘一个安装了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)))

我觉得这可能只是我的一个软件包版本的一些奇怪的错误,但任何建议都是有用的。谢谢!

tkclm6bt

tkclm6bt1#

你几乎肯定需要像

clusterEvalQ(clust, library('glmmTMB'))

在发出dredge命令之前。如help file pointed out in the comments所示,
用于拟合global.model的所有依赖关系,包括建模函数将使用的数据和任何对象,必须导出到集群工作节点(例如,通过clusterExport)。所需的软件包也必须加载到其中(例如通过clusterEvalQ(..., library(package)),然后pdredge使用该群集。

相关问题