Я пытаюсь запустить модель с зазубринами, используя jagsUI
, и получаю следующее сообщение об ошибке:
Ошибка в jags.model (file = model.file, data = data, inits = inits, n.chains = n.chains,:
Ошибка в узле rec_sim [1]
Недопустимые родительские значения
Я не понимаю, в чем моя ошибка, любая помощь добро пожаловать.
Вот данные для моей модели
# Data
set.seed(1234)
year<-c(2017,2016,2008,2007)
n<-c(27,57,37,31)
preg<-c(5,24,12,12)
not.preg<-c(22,33,25,19)
prop.preg<-preg/n
mean.preg<-mean(prop.preg) #media de hembras preñadas de mis datos
fem.prop<-0.6 #proporción de sexos
sup<-0.607 #supervivencia
gua.den<-rlnorm(100,2.7,0.8)
recr<- function (ab2) {(mean.preg*fem.prop*sup*ab2)}
var<-0.1
#número de añales
rec2<- rlnorm(100, log(recr(gua.den),var))
#recruitment calculus
dens.an<-c(4.08,1.20,5.25,3.67)
real.ab.tot<- c(19.07,22.09,27.54,33.39)
ab.ant<-c(22.77,19.07,15.93,27.54)
an.fun<- mean.preg*ab.ant*fem.prop*sup
fem_rat<-gua.den*fem.prop
rec_sim<-rec2/fem_rat
rec_dens<-dens.an/(real.ab.tot*fem.prop)
rec_fun<-an.fun/real.ab.tot*fem.prop
А вот и моя модель
library(jagsUI)
cat(file="rick.bug","
model{
for(i in 1:100){
rec_sim[i]~dbeta(a[i],b)
a[i]<-alpha*gua.den[i]*exp((-beta)*gua.den[i])
}
#priors
alpha ~dnorm(0,0.00001)
beta ~dnorm(0,0.00001)
b~dgamma(5,3)
}
")
d.jags<-c("rec_sim","gua.den")
params<-c("alpha","beta","logsigma")
inits <- function() {list(alpha = runif(1,0.1, 1),
beta = runif(1, 0.1, 1))}
ni<-1000; nc<-1; nt<-1; nb<-500
rick.sim <- jags(data = d.jags, parameters.to.save = params, model.file = "rick.bug",
n.chains = nc, n.iter = ni, n.burnin = nb, n.thin = nt)
print(rick.sim)