#1. model set-up model { #likelihood p(Y|theta) for( i in 1 : N ) { for( j in 1 : T ) { Y[i , j] ~ dnorm(mu[i , j],tau.0) mu[i , j] <- a[i] + beta * trt[i] + b[i] * (x[j] - xbar) } #Prior p(theta|Psi) a[i] ~ dnorm(mu.a, tau.a) b[i] ~ dnorm(mu.b, tau.b) } #prior tau.0 ~ dgamma(0.001,0.001) beta ~ dnorm(0.0,1.0E-6) #hyper-priors mu.a ~ dnorm(0.0,1.0E-6) mu.b ~ dnorm(0.0,1.0E-6) tau.a ~ dgamma(0.001,0.001) tau.b ~ dgamma(0.001,0.001) #parameters of interest sigma <- 1 / sqrt(tau.0) #error sd w0[1] <- mu.a - xbar * mu.b #weight at birth for 1st group w0[2] <- mu.a + beta - xbar * mu.b #weight at birth for 2nd group } #2. Data for BUGS use list(x = c(8.0, 15.0, 22.0, 29.0, 36.0), xbar = 22, N = 30, T = 5, trt = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1), Y = structure( .Data = c(151, 199, 246, 283, 320, 145, 199, 249, 293, 354, 147, 214, 263, 312, 328, 155, 200, 237, 272, 297, 135, 188, 230, 280, 323, 159, 210, 252, 298, 331, 141, 189, 231, 275, 305, 159, 201, 248, 297, 338, 177, 236, 285, 350, 376, 134, 182, 220, 260, 296, 160, 208, 261, 313, 352, 143, 188, 220, 273, 314, 154, 200, 244, 289, 325, 171, 221, 270, 326, 358, 163, 216, 242, 281, 312, 160, 207, 248, 288, 324, 142, 187, 234, 280, 316, 156, 203, 243, 283, 317, 157, 212, 259, 307, 336, 152, 203, 246, 286, 321, 154, 205, 253, 298, 334, 139, 190, 225, 267, 302, 146, 191, 229, 272, 302, 157, 211, 250, 285, 323, 132, 185, 237, 286, 331, 160, 207, 257, 303, 345, 169, 216, 261, 295, 333, 157, 205, 248, 289, 316, 137, 180, 219, 258, 291, 153, 200, 244, 286, 324), .Dim = c(30,5))) #3. Initial values ###(3.1) only fixed effects list(mu.a = 150, mu.b = 10, beta=1, tau.0 = 1, tau.a = 1, tau.b = 1) ###(3.2) all parameters list(a = c(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250), b = c(6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6), mu.a = 150, mu.b = 10, beta=1, tau.0 = 1, tau.a = 1, tau.b = 1)