`panel5pt5.fn` <- function(ni=5000,nb=2000,nthin=2,nc=3,nz=60){ # This R script fits Model M0 to the Microtus data using data augmentation. # The model is given in Panel 5.5. library("R2WinBUGS") Y<-microtus.data[,1:5] nind<-nrow(Y) J<-ncol(Y) # Augmenting the data Y<-rbind(Y,matrix(0,nrow=nz,ncol=J)) y<-apply(Y,1,sum) sink("model.txt") cat(" model { psi~dunif(0,1) p~dunif(0,1) for(i in 1:(nind+nz)){ z[i]~dbin(psi,1) mu[i]<-z[i]*p y[i]~dbin(mu[i],J) } N<-sum(z[1:(nind+nz)]) } ",fill=TRUE) sink() data <- list ("y","nind","nz","J") inits <- function(){ list (p=runif(1),psi=runif(1) ) } parameters <- c("N","p","psi") out <- bugs (data, inits, parameters, "model.txt", n.thin=nthin,n.chains=nc, n.burnin=nb,n.iter=ni,debug=TRUE) out }