2016-05-11 3 views
1

Я пытаюсь в первый раз поместить иерархическую модель с rjags; это выглядит довольно просто на бумаге, но я получаю «Файл модели синтаксического анализа ошибок: синтаксическая ошибка в строке 5 возле« [»», которую я полностью не могу интерпретировать.Ошибка синтаксиса от rjags

Можете ли вы мне помочь и сказать, что я делаю неправильно?

data = list('P.hat'=c(0.0032, 0.0045, 0.077), 'R'=c(34580, 37932, 46724), 'N'=c(10028321, 15674923, 21426662), 's.over.rootn'=c(0.02, 0.006, 0.017), 'n'=1, 'tmax'=3) 

cat('model{ 
## likelihoods ## 
for(i in 1:n){ 
    for(j in 1:tmax){ 
     P.hat[i,j] ~ dnorm(pi[j], (1/pow(s.over.rootn,2))[j]) 
     R[i,j]  ~ dbin(theta[j], N[j]) 
}} 
## daterministic relations ## 
     gam   <- m*vs+(1-m)*va 
for(j in 1:tmax){ 
     theta[j] <- (pi[j]*beta*gam)/(gam*dt+(1-gam)*du) 
} 
## priors ## 
for(j in 1:tmax){ 
     pi[j]  ~ dbeta(1, 1) 
} 
     beta  ~ dbeta(1, 1) 
     m   ~ dbeta(1, 1)     
     vs   ~ dbeta(1, 1)     
     va   ~ dbeta(1, 1)     
     dt   ~ dnorm(0.3, 2)I(0,5) 
     du   ~ dnorm(1.25, 2)I(0,5) 
}', 
     file='model1.bug') 

## data & initial values 
inits1 <- list('pi'=rep(0.5,data$tmax),'beta'=0.5, 'm'=0.5,'vs'=0.5,'va'=0.5,'dt'=1,'du'=1) 
jags_mod <- jags.model('model1.bug', data=data, inits=inits1, n.chains=1, n.adapt=5000)} 
+0

Вопросы о том, как код в сообщениях об ошибках R (и R) здесь не обсуждаются. Они принадлежат [SO]. Если вы немного подождете, мы перенесем это для вас. – gung

ответ

0

Ваша пятая строка кода заключается в следующем:

P.hat[i,j] ~ dnorm(pi[j], (1/pow(s.over.rootn,2))[j]) 

Я считаю, что это должно быть изменено на это для того, чтобы правильно индекс s.over.rootn:

P.hat[i,j] ~ dnorm(pi[j], (1/pow(s.over.rootn[j],2))) 
Смежные вопросы