winbugs14 - Multiple definitions of node ell[1,2] error in Winbugs -
winbugs14 - Multiple definitions of node ell[1,2] error in Winbugs -
this post related previous post (how code matrix in winbugs?). apologize new 1 new problem. error multiple definitions of node ell[1,2]
. i'm not sure how prepare it. here code , info set reproducibility.
model { #likelihood for(j in 1 : nf){ p1[j, 1:2 ] ~ dmnorm(gamma[1:2], t[1:2 ,1:2]) (i in 1:2){ logit(p[j,i]) <- p1[j,i] y[j,i] ~ dbin(p[j,i],n) } x_mu[j,1]<-p[j,1]-mean(p[,1]) x_mu[j,2]<-p[j,2]-mean(p[,2]) v1<-sd(p[,1])*sd(p[,1]) v2<-sd(p[,2])*sd(p[,2]) v12<-(inprod(x_mu[j,1],x_mu[j,2]))/(sd(p[,1])*sd(p[,2])) sigma[1,1]<-v1 sigma[1,2]<-v12 sigma[2,1]<-v12 sigma[2,2]<-v2 sigmainv[1:2, 1:2] <- inverse(sigma[,]) t1[j,1]<-inprod(sigmainv[1,],x_mu[j,1]) t1[j,2]<-inprod(sigmainv[2,],x_mu[j,2]) ell[j,1]<-inprod(x_mu[j,1],t1[j,1]) ell[j,2]<-inprod(x_mu[j,2],t1[j,2]) } #priors gamma[1:2] ~ dmnorm(mn[1:2],prec[1:2 ,1:2]) expit[1] <- exp(gamma[1])/(1+exp(gamma[1])) expit[2] <- exp(gamma[2])/(1+exp(gamma[2])) t[1:2 ,1:2] ~ dwish(r[1:2 ,1:2], 2) sigma2[1:2, 1:2] <- inverse(t[,]) rho <- sigma2[1,2]/sqrt(sigma2[1,1]*sigma2[2,2]) } # info list(nf =20, mn=c(-0.69, -1.06), n=60, prec = structure(.data = c(.001, 0, 0, .001),.dim = c(2, 2)), r = structure(.data = c(.001, 0, 0, .001),.dim = c(2, 2)), y= structure(.data=c(32,13, 32,12, 10,4, 28,11, 10,5, 25,10, 4,1, 16,5, 28,10, 21,7, 19,9, 18,12, 31,12, 13,3, 10,4, 18,7, 3,2, 27,5, 8,1, 8,4),.dim = c(20, 2)))
in for(j in 1:nf)
loop have defined number of variables (v1, v2, v12, sigma, etc) these not have j index, meaning attempting define them multiple times. remember bugs not programming language - cant have constant within loop. model specification language means every variable can specified once. need move variables outside of loop, or index them.
winbugs winbugs14
Comments
Post a Comment