########################################################################

# Two Normal Distributions. Mean: unknown. Variance: unknown.

########################################################################

model

{

for(i in 1:n)

            {

                        x[i] ~ dnorm(mu1, inv.sigma2.1)   # likelihood

                        y[i] ~ dnorm(mu2, inv.sigma2.2)   # likelihood

}

mu1 ~ dnorm(0, 0.000001)              # approximates the improper prior

mu2 ~ dnorm(0, 0.000001)              # approximates the improper prior

inv.sigma2.1 ~ dgamma(0.0001, 0.0001) # approximates the improper prior

inv.sigma2.2 ~ dgamma(0.0001, 0.0001) # approximates the improper prior

sigma2.1 <- 1/inv.sigma2.1

sigma2.2 <- 1/inv.sigma2.2

sigma.1  <- sqrt(sigma2.1)

sigma.2  <- sqrt(sigma2.2)

 

pr.mu1.ge.mu2  <- step( mu1-mu2 ) # Estimate Posterior Pr(mu1>=m2).

# step(x)=1 if x>=0, step(x)=0 otherwise.

 

effect.size <- (mu1-mu2)/sqrt( (sigma2.1 + sigma2.2)/2 )

pr.es     <- step( effect.size-0.8 )

# Estimate Posterior Pr(effect.size >= 0.8)

}                                                                                

# Initial values

list( mu1 = 100, mu2 = 100, inv.sigma1.2 = 1, inv.sigma2.2 = 1)

# Data 1

list(n = 10)

# Data 2

x[] y[]

120 110

107 111

110 107

116 108

114 110

111 105

113 107

117 106

114 111

112 111

END