2016-10-13 5 views
0

я получаю следующее сообщение об ошибке, когда я пытаюсь создать уценки в R:Rmarkdown ошибка RJAGS

"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.

ответ

0

Когда вы пытаетесь вязать уценку, она запускает раковину для создания .txt с кодом модели и перезаписывает его. Markdown испортит .txt и сделает его пустым файлом каждый раз, когда вы его вязаете. Поэтому компиляции там нет, и вы получаете эту ошибку.

Решение: запустить раковину (...), чтобы создать ваш .txt на консоли и прокомментировать его в источнике уценки.

+1

Yay! Это сработало :) – Rachel

Смежные вопросы