Many thanks to Sanjib. I never imagined inserting the negative sign would pose a problem. Solution: ------------------- Raphael: I ran your code. The issue is not with the Uniform distribution, but with "- u[j]" as arithmetic expressions are not allowed within a distribution specification. I ran the following revision of your code up to 1000 iterations. model { for (j in 1:M) { U[j] ~ dunif(u1[j],u[j]) K[j] ~ dcat(p[1:N]) u1[j] <- -u[j] u[j] <- r[K[j]] On Wed, Sep 26, 2012 at 5:02 AM, Raphael Fraser <[log in to unmask]> wrote: > > Hi, > > My goal is to sample from a mixture of uniforms but unless U[j] is observed or u[j] is a number my code will not work. Is there an alternative? Can anyone help? > > Thanks, > Raphael > > model { > > for (j in 1:M) { > > U[j] ~ dunif(-u[j],u[j]) > K[j] ~ dcat(p[1:N]) > u[j] <- r[K[j]] > > for (i in 1:N) { > SC[j,i] <- equals(i,K[j]) > } > } > > for (i in 1:N) { > sumSC[i] <- sum(SC[,i]) > cl[i] <- step(sumSC[i] - 1) > } > > NC <- sum(cl[]) > > # Contructive DPP > for (k in 1:N) { r[k] ~ dgamma(1.5,tau.e) } > for (k in 1:(N-1)) { V[k] ~ dbeta(1,1) } > for (k in 2:N) { p[k] <- V[k]*(1-V[k-1])*p[k-1]/V[k-1] } > V[N] <- 1 > p[1] <- V[1] > > # priors > tau.e <- pow(2*pow(sig.e,2),-1) > sig.e ~ dunif(0,6) > > } > > #### INITS > list(sig.e=3.0) > > #### DATA > list(M=10,N=5) > > ------------------------------------------------------------------- This list is for discussion of modelling issues and the BUGS software. For help with crashes and error messages, first mail [log in to unmask] To mail the BUGS list, mail to [log in to unmask] Before mailing, please check the archive at www.jiscmail.ac.uk/lists/bugs.html Please do not mail attachments to the list. To leave the BUGS list, send LEAVE BUGS to [log in to unmask] If this fails, mail [log in to unmask], NOT the whole list > > -- > Sanjib Basu > > > ------------------------------------------------------------------- This list is for discussion of modelling issues and the BUGS software. For help with crashes and error messages, first mail [log in to unmask] To mail the BUGS list, mail to [log in to unmask] Before mailing, please check the archive at www.jiscmail.ac.uk/lists/bugs.html Please do not mail attachments to the list. To leave the BUGS list, send LEAVE BUGS to [log in to unmask] If this fails, mail [log in to unmask], NOT the whole list