error extraño de jags.parallel / evitar la evaluación perezosa en la llamada de función

Tengo una llamada de función (ajags.parallel) que funciona cuando se le da un argumento numérico comon.iter = 100 pero falla cuando el argumento usa un valor variable,n.iter = n.iter. Esto parece que podría ser un error enjags.parallel

Un ejemplo mínimo reproducible del error:

    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))
    }

Entonces esto funciona:

    jagsfit.p <- jags.parallel(data=jags.data, inits=jags.inits, jags.params, 
                               n.iter=5000, model.file=model.file)

Pero esto no lo hace:

     n.iter=5000
    jagsfit.p <- jags.parallel(data=jags.data, inits=jags.inits, jags.params,
                               n.iter=n.iter, model.file=model.file)

Dando el error:

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

Supongo que esto tiene algo que ver con no exportar la variablen.iter al clúster, pero no está claro qué motor paralelo usa jags.parallel. ¿Hay alguna manera de engañar a R para evaluarn.iter ¿Antes de pasarlo a la función?

Respuestas a la pregunta(1)

Su respuesta a la pregunta