model {
for (i in 1:N) {
p[i] <- 1/N # set up uniform prior on 1 to N
}
for (j in 1:N){
pick[j] ~ dcat(p[]) # pick random number between 1 and N
Yboot[j] <- Y[pick[j]] # set jth bootstrap observation
}
mean <- mean(Yboot[])
# now find median of bootstrap sample: this halfway
# between observation N/2 and N/2+1...
n1 <- N/2
n2 <- n1 + 1
median <- (ranked(Yboot[], n1) + ranked(Yboot[], n2))/2
}
Data:
list(N=66, Y=c(
28, 26, 33, 24, 34, -44, 27, 16, 40, -2,
29, 22, 24, 21, 25, 30, 23, 29, 31, 19,
24, 20, 36, 32, 36, 28, 25, 21, 28, 29,
37, 25, 28, 26, 30, 32, 36, 26, 30, 22,
36, 23, 27, 27, 28, 27, 31, 27, 26, 33,
26, 32, 32, 24, 39, 28, 24, 25, 32, 25,
29, 27, 28, 29, 16, 23))
node mean sd MC error 2.5% median 97.5% start sample
median 27.31 0.6803 0.002111 26.0 27.0 28.5 1 100000
Yboot[1] 26.19 10.68 0.03461 -2.0 27.0 39.0 1 100000