credIntNum {Bolstad2} | R Documentation |
Calculate a credible interval from a numerically specified posterior CDF
Description
Calculates a lower, upper, or two-sided credible interval from the numerical posterior CDF.
Usage
credIntNum(theta, cdf, conf = 0.95, type = "twosided")
Arguments
theta |
the values over which the the posterior CDF is specified |
cdf |
the values of the CDF, |
conf |
the desired 'confidence' level |
type |
the type of interval to return, 'lower' = one sided lower bound, 'two-sided' = two - sided, or 'upper' = one sided upper bound. It is sufficient to use 'l','t' or 'u' |
Details
This function uses linear interpolation to calculate bounds for points that may not be specified by CDF
Value
a list containing the elements lower.bound, uppper.bound or both depending on type
Examples
## commands for calculating a numerical posterior CDF.
## In this example, the likelihood is proportional to
## \eqn{\theta^{3/2}\times \exp(-\theta/4)} and a N(6, 9) prior is used.
theta = seq(from = 0.001, to = 40, by = 0.001)
prior = dnorm(theta,6,3)
ppnLike = theta^1.5*exp(-theta/4)
ppnPost = prior*ppnLike
scaleFactor = sintegral(theta, ppnPost)$int
posterior = ppnPost/scaleFactor
cdf = sintegral(theta, posterior)$y
ci=credIntNum(theta, cdf)
par(mfrow=c(2,2))
plot(prior ~ theta, type = 'l', main = 'Prior N(6, 9)')
plot(ppnLike ~ theta, type = 'l', main = 'Proportional likelihood')
plot(posterior ~ theta, type = 'l', main = 'Posterior')
abline(v=c(unlist(ci)))
[Package Bolstad2 version 1.0-29 Index]