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)) a <- "Post mean = " b <- "Post Var = " cat(a, post.mean, ",", b, post.var, "\n") }