post.normal.mean <- function(x, prior.mean, prior.var, data.var) { #################################################################### # R function for Bayesian analysis of normal mean, variance known # # Parameters included are: # # # # Inputs: # # # # x = vector of data # # prior.mean = prior mean # # prior.var = prior variance # # data.var = assumed known variance of data # # # # Outputs: # # # # post.mean = posterior mean # # post.var = posterior variance # # # #################################################################### n<- length(x) x.bar <- mean(x) post.mean.numerator <- prior.mean/prior.var + n*x.bar/data.var post.mean.denominator <- 1/prior.var + n/data.var post.mean <- post.mean.numerator/post.mean.denominator post.var <- (1/(1/prior.var + n/data.var)) posterior.parameters <- list(post.mean= post.mean, post.var = post.var) return(posterior.parameters) }