Hello, I have problem running WinBUGS from R. The following example works in WinBUGS but it does not work in R through package R2WinBUGS. Does anyone know what the problem is? x <- c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, 2.8, 3.2, 3.9, 3.5) y <- c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, -0.1, -0.4, -0.5, -0.2, 0.3, -1.5) eco <- c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) N <- length(y) J <- length(unique(eco)) f.data <- list("N", "y", "x", "eco", "J") f.inits <- function(){ list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1))} f.parameters <- c("beta.0", "beta.x", "sigma.y", "beta.eco") f.ml <- bugs (data=f.data, inits=f.inits, parameters.to.save=f.parameters, model.file="oecd1.bug", n.chains=3, n.iter=1000, debug=TRUE) # This code works in WinBUGS. model { # dummy variable for (i in 1:N){ D.eco2[i] <- equals(eco[i],2) D.eco3[i] <- equals(eco[i],3) } # model's likelihood for (i in 1:N){ y[i] ~ dnorm (mu[i], tau.y) mu[i] <- beta.0 + beta.x*x[i] + beta.eco[2]*D.eco2[i] + beta.eco[3]*D.eco3[i] } # beta.eco[1] <- 0 # priors beta.0 ~ dnorm (0, 0.0001) beta.x ~ dnorm (0, 0.0001) for (j in 2:J){ beta.eco[j] ~ dnorm (0, 0.0001) } tau.y <- pow(sigma.y, -2) sigma.y ~ dunif (0, 100) } DATA list(N=18, J=3, x = c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, 2.8, 3.2, 3.9, 3.5), y = c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, -0.1, -0.4, -0.5, -0.2, 0.3, -1.5), eco = c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) ) INITIAL VALUES list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1)) -- View this message in context: http://n4.nabble.com/Help-R2WinBUGS-tp947367p947367.html Sent from the R help mailing list archive at Nabble.com.
TTsai wrote:> Hello, > > I have problem running WinBUGS from R. > The following example works in WinBUGS but it does not work in R through > package R2WinBUGS.Works for me. What is the error message you get? Best wishes, Uwe Ligges> Does anyone know what the problem is? > > x <- c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, 2.8, > 3.2, 3.9, 3.5) > y <- c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, -0.1, > -0.4, -0.5, -0.2, 0.3, -1.5) > eco <- c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) > > N <- length(y) > J <- length(unique(eco)) > > f.data <- list("N", "y", "x", "eco", "J") > f.inits <- function(){ > list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1))} > f.parameters <- c("beta.0", "beta.x", "sigma.y", "beta.eco") > > f.ml <- bugs (data=f.data, > inits=f.inits, > parameters.to.save=f.parameters, > model.file="oecd1.bug", > n.chains=3, > n.iter=1000, > debug=TRUE) > > > # This code works in WinBUGS. > > model { > # dummy variable > for (i in 1:N){ > D.eco2[i] <- equals(eco[i],2) > D.eco3[i] <- equals(eco[i],3) > } > # model's likelihood > for (i in 1:N){ > y[i] ~ dnorm (mu[i], tau.y) > mu[i] <- beta.0 + beta.x*x[i] + beta.eco[2]*D.eco2[i] + > beta.eco[3]*D.eco3[i] > } > # > beta.eco[1] <- 0 > > # priors > beta.0 ~ dnorm (0, 0.0001) > beta.x ~ dnorm (0, 0.0001) > > for (j in 2:J){ > beta.eco[j] ~ dnorm (0, 0.0001) > } > > tau.y <- pow(sigma.y, -2) > sigma.y ~ dunif (0, 100) > } > > > DATA > list(N=18, J=3, > x = c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, 2.8, > 3.2, 3.9, 3.5), > y = c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, -0.1, > -0.4, -0.5, -0.2, 0.3, -1.5), > eco = c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) > ) > > INITIAL VALUES > list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1))
I try it again and it works. Thank you. TTsai wrote:> > Hello, > > I have problem running WinBUGS from R. > The following example works in WinBUGS but it does not work in R through > package R2WinBUGS. > Does anyone know what the problem is? > > x <- c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, > 2.8, 3.2, 3.9, 3.5) > y <- c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, > -0.1, -0.4, -0.5, -0.2, 0.3, -1.5) > eco <- c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) > > N <- length(y) > J <- length(unique(eco)) > > f.data <- list("N", "y", "x", "eco", "J") > f.inits <- function(){ > list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1))} > f.parameters <- c("beta.0", "beta.x", "sigma.y", "beta.eco") > > f.ml <- bugs (data=f.data, > inits=f.inits, > parameters.to.save=f.parameters, > model.file="oecd1.bug", > n.chains=3, > n.iter=1000, > debug=TRUE) > > > # This code works in WinBUGS. > > model { > # dummy variable > for (i in 1:N){ > D.eco2[i] <- equals(eco[i],2) > D.eco3[i] <- equals(eco[i],3) > } > # model's likelihood > for (i in 1:N){ > y[i] ~ dnorm (mu[i], tau.y) > mu[i] <- beta.0 + beta.x*x[i] + beta.eco[2]*D.eco2[i] + > beta.eco[3]*D.eco3[i] > } > # > beta.eco[1] <- 0 > > # priors > beta.0 ~ dnorm (0, 0.0001) > beta.x ~ dnorm (0, 0.0001) > > for (j in 2:J){ > beta.eco[j] ~ dnorm (0, 0.0001) > } > > tau.y <- pow(sigma.y, -2) > sigma.y ~ dunif (0, 100) > } > > > DATA > list(N=18, J=3, > x = c(0.2, 1.1, 1, 2.2, 2.5, 2.9, 2.9, 3.6, 3.8, 0.6, 1, 2, 2.4, 2.6, 2.8, > 3.2, 3.9, 3.5), > y = c(0.5, 1.3, 0.1, 0.7, -0.4, 0.5, -0.9, -0.3, -0.3, 0.6, 0.4, 0.9, > -0.1, -0.4, -0.5, -0.2, 0.3, -1.5), > eco = c(1, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 2, 2, 1) > ) > > INITIAL VALUES > list(sigma.y=1, beta.0=1, beta.x=1, beta.eco=c(NA, 1, 1)) >-- View this message in context: http://n4.nabble.com/Help-R2WinBUGS-tp947367p948986.html Sent from the R help mailing list archive at Nabble.com.