相关疑难解决方法(0)

jags.parallel - get(name,envir = envir)出错:第一个参数无效

使用时jags.parallel,我收到以下错误:

> out <- jags.parallel(win.data, inits, params, "Poisson.OD.t.test.txt",
+ nc, ni, nb, nt);
Error in get(name, envir = envir) : invalid first argument
Run Code Online (Sandbox Code Playgroud)

使用jags函数的相同调用运行正常.我只在这个主题上找到了一个主题,但只有一个推测性的建议不适用也不适用于此.

可重复使用的代码,取自生态学家的WinBUGS简介,参见第14.1章(稍作修改):

set.seed(123)

### 14.1.2. Data generation
n.site <- 10
x <- gl(n = 2, k = n.site, labels = c("grassland", "arable"))
eps <- rnorm(2*n.site, mean = 0, sd = 0.5)# Normal random effect
lambda.OD <- exp(0.69 +(0.92*(as.numeric(x)-1) + eps) )
lambda.Poisson <- exp(0.69 +(0.92*(as.numeric(x)-1)) ) # …
Run Code Online (Sandbox Code Playgroud)

r jags winbugs r2jags jags.parallel

5
推荐指数
1
解决办法
3034
查看次数

奇怪的 jags.parallel 错误/避免函数调用中的惰性求值

我有一个函数调用 (to jags.parallel),当给定数字参数时,该函数调用有效,n.iter = 100但当参数使用变量值 时,该函数调用失败n.iter = n.iter。这看起来可能是一个错误jags.parallel

错误的最小可重现示例:

    library(R2jags)
    model.file <- system.file(package="R2jags", "model", "schools.txt")
    J <- 8.0
    y <- c(28.4,7.9,-2.8,6.8,-0.6,0.6,18.0,12.2)
    sd <- c(14.9,10.2,16.3,11.0,9.4,11.4,10.4,17.6)    
    jags.data <- list("y","sd","J")
    jags.params <- c("mu","sigma","theta")
    jags.inits <- function(){
      list("mu"=rnorm(1),"sigma"=runif(1),"theta"=rnorm(J))
    }
Run Code Online (Sandbox Code Playgroud)

然后这有效:

    jagsfit.p <- jags.parallel(data=jags.data, inits=jags.inits, jags.params, 
                               n.iter=5000, model.file=model.file)
Run Code Online (Sandbox Code Playgroud)

但这并不:

     n.iter=5000
    jagsfit.p <- jags.parallel(data=jags.data, inits=jags.inits, jags.params,
                               n.iter=n.iter, model.file=model.file)
Run Code Online (Sandbox Code Playgroud)

给出错误:

Error in checkForRemoteErrors(lapply(cl, recvResult)) : 
  3 nodes produced errors; first error: object 'n.iter' not found
Run Code Online (Sandbox Code Playgroud)

我认为这与不将变量导出到集群有关n.iter,但尚不清楚 jags.parallel 使用的是什么并行引擎。n.iter …

r lazy-evaluation jags r2jags jags.parallel

4
推荐指数
1
解决办法
1980
查看次数

标签 统计

jags ×2

jags.parallel ×2

r ×2

r2jags ×2

lazy-evaluation ×1

winbugs ×1