[R] Help R2WinBUGS
Uwe Ligges
ligges at statistik.tu-dortmund.de
Thu Dec 3 19:31:45 CET 2009
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))
More information about the R-help
mailing list