pNull {Bolstad2} | R Documentation |
Test a one sided hypothesis from a numerically specified posterior CDF or from a sample from the posterior
Description
Calculates the probability of a one sided null hypothesis from a numerically calculated posterior CDF or from a sample from the posterior.
Usage
pNull(theta0, theta, cdf = NULL, type = "upper")
Arguments
theta0 |
the hypothesized value, i.e. H0: theta <= theta0 |
theta |
a sample of values from the posterior density, or, if cdf is not NULL then the values over which the the posterior CDF is specified |
cdf |
the values of the CDF, |
type |
the type of probability to return, 'lower' = Pr(theta <= theta0) or 'upper' = Pr(theta >= theta0). It is sufficient to use 'l' 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 element prob which will be the upper or lower tail probability 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
pNull(15, theta, cdf)
## Use an inverse method to take a random sample of size 1000
## from the posterior
suppressWarnings({Finv = approxfun(cdf, theta)})
thetaSample = Finv(runif(1000))
pNull(15, thetaSample)
[Package Bolstad2 version 1.0-29 Index]