## Bayesian inference on a normal mean with a discrete prior

### Description

Evaluates and plots the posterior density for \mu, the mean of a normal distribution, with a discrete prior on \mu

### Usage

normdp(x, sigma.x = NULL, mu = NULL, mu.prior = NULL, n.mu = 50, ...)


### Arguments

 x a vector of observations from a normal distribution with unknown mean and known std. deviation. sigma.x the population std. deviation of the normal distribution mu a vector of possibilities for the probability of success in a single trial. If mu is NULL then a uniform prior is used. mu.prior the associated prior probability mass. n.mu the number of possible \mu values in the prior ... additional arguments that are passed to Bolstad.control

### Value

A list will be returned with the following components:

 mu the vector of possible \mu values used in the prior mu.prior the associated probability mass for the values in \mu likelihood the scaled likelihood function for \mu given x and \sigma_x posterior the posterior probability of \mu given x and \sigma_x

normnp normgcp

### Examples


## generate a sample of 20 observations from a N(-0.5,1) population
x = rnorm(20,-0.5,1)

## find the posterior density with a uniform prior on mu
normdp(x,1)

## find the posterior density with a non-uniform prior on mu
mu = seq(-3,3,by=0.1)
mu.prior = runif(length(mu))
mu.prior = sort(mu.prior/sum(mu.prior))
normdp(x,1,mu,mu.prior)

## Let mu have the discrete distribution with 5 possible
## values, 2, 2.5, 3, 3.5 and 4, and associated prior probability of
## 0.1, 0.2, 0.4, 0.2, 0.1 respectively. Find the posterior
## distribution after a drawing random sample of n = 5 observations
## from a N(mu,1) distribution y = [1.52, 0.02, 3.35, 3.49, 1.82]
mu = seq(2,4,by=0.5)
mu.prior = c(0.1,0.2,0.4,0.2,0.1)
y = c(1.52,0.02,3.35,3.49,1.82)
normdp(y,1,mu,mu.prior)