Functions to compute the density of or generate random deviates from the Dirichlet distribution

ddirichlet(x, alpha)

rdirichlet(n, alpha)

Arguments

x

A vector containing a single random deviate or matrix containing one random deviate per row.

alpha

Vector or (for ddirichlet) matrix containing shape parameters.

n

Number of random vectors to generate.

Value

ddirichlet returns a vector containing the Dirichlet density for the corresponding rows of x.

rdirichlet returns a matrix with n rows, each containing a single Dirichlet random deviate.

Details

The Dirichlet distribution is the multidimensional generalization of the beta distribution. It is the canonical Bayesian distribution for the parameter estimates of a multinomial distribution.

Functions

  • ddirichlet(): Dirichlet distribution function.

  • rdirichlet(): Generate dirichlet random deviates.

See also

Author

Code original posted by Ben Bolker to R-News on Fri Dec 15 2000. See https://stat.ethz.ch/pipermail/r-help/2000-December/009561.html. Ben attributed the code to Ian Wilson i.wilson@maths.abdn.ac.uk. Subsequent modifications by Gregory R. Warnes greg@warnes.net.

Examples



x <- rdirichlet(20, c(1, 1, 1))

ddirichlet(x, c(1, 1, 1))
#>  [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2