# This is file “nonlinearmodel.bug” model{ for( i in 1 : N ) { y[i] ~ dnorm(mu[i], tau) mu[i] <- alpha - beta * pow(gamma,x[i]) } alpha ~ dnorm(0.0, 1.0E-6) beta ~ dnorm(0.0, 1.0E-6) gamma ~ dunif(0.0, 1.0) tau ~ dgamma(0.01, 0.01) } # Copy and paste the following lines into R. In R, remember to go # to “file>change dir…” to enter the subdirectory where the file # “nonlinearmodel.bug” is located. I might also want to certify # yourself where WinBUGS is located in your computer. library(R2WinBUGS) x = c(1.0,1.5,1.5,1.5,2.5,4.0,5.0,5.0,7.0,8.0,8.5, 9.0,9.5,9.5,10.0,12.0,12.0,13.0,13.0,14.5, 15.5,15.5,16.5,17.0,22.5,29.0,31.5) y = c(1.80,1.85,1.87,1.77,2.02,2.27,2.15,2.26,2.47, 2.19,2.26,2.40,2.39,2.41,2.50,2.32,2.32,2.43, 2.47,2.56,2.65,2.47,2.64,2.56,2.70,2.72,2.57) N <- length(x) data <- list("x","y","N") inits <- function(){ list(alpha=1,beta=1,tau=1,gamma=0.9) } nonlinear.sim = bugs(data,inits, model.file="nonlinearmodel.bug", parameters=c("alpha","beta","tau","gamma"), n.chains=1,n.iter=20000,n.burnin=5000,n.thin=1, bugs.directory="c:/Program Files/WinBUGS14/", codaPkg=FALSE) nonlinear.sim names(nonlinear.sim) dim(nonlinear.sim$sims.array) nonlinear.sim$sims.array[1:15,1,] par(mfrow=c(2,2)) ts.plot(nonlinear.sim$sims.array[,1,1],xlab="iterations",ylab="",main="alpha") ts.plot(nonlinear.sim$sims.array[,1,2],xlab="iterations",ylab="",main="beta") ts.plot(nonlinear.sim$sims.array[,1,3],xlab="iterations",ylab="",main="tau") ts.plot(nonlinear.sim$sims.array[,1,4],xlab="iterations",ylab="",main="gamma")