1

每当我尝试在 R 中创建降价时,我都会收到以下错误消息:

"Error in jags.model(model.file, data = data, inits = inits.values, n.chains = n.chains, : Nothing to compile calls: <Anonymous>... withVisible -> eval -> jags -> jags.model ->. Call In addition: Warning message: In sink() :  no sink to remove Execution halted."

代码运行良好,问题出在我尝试编织它的时候。我拥有的一段代码是这样的:

library(R2jags)

setwd("~/[...]")
getwd()

#Model:    

sink("model1.txt")
cat("
    model
    {
    for(i in 1:N){
        y[i] ~ dnorm(mu[i],tau)
        mu[i] <- alpha + beta * (x[i]-x.bar)
        }
        alpha ~ dnorm(0, 0.0001)
        beta ~ dnorm(1,1)
        tau ~ dgamma(.25,.25)
    sigma <- 1/sqrt(tau)
    }
    ",fill = TRUE)
sink()

#Data:

x     = c(1,2,3,4,5)
y     = c(1,3,3,3,5)
N     = 5 
x.bar = 3
jags.data = list("x","y","N","x.bar")

#Parameters:

jags.params = c("alpha", "beta", "tau", "sigma")

#Initial Values:

jags.inits = function(){
    list("alpha" = 0, "beta" = 1, "tau" = 1)
}

#Fit Model:

lab1.sim = jags(jags.data, jags.inits, jags.params, 
              model.file = "model1.txt", 
              n.chains = 3, n.iter = 11000, n.burnin = 1000)

我使用 Windows 10、Rx64 3.2.3 和 RStudio 0.99.903。

4

1 回答 1

0

当您尝试编写降价时,它会运行接收器以使用模型代码创建 .txt 并覆盖它。Markdown 会弄乱 .txt 并在以后每次编织时将其变为空文件。所以那里没有什么可以编译的,你会得到那个错误。

解决方案:运行 sink(...) 在控制台上创建您的 .txt 并在 markdown 源中将其注释掉。

于 2016-10-13T19:12:54.347 回答