dirichlet: The Dirichlet Distribution

dirichletR Documentation

The Dirichlet Distribution

Description

Density function and random generation from the Dirichlet distribution.

Usage

ddirichlet(x, alpha)

rdirichlet(n, alpha)

Arguments

x

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

alpha

a vector of shape parameters, or a matrix of shape parameters by rows. Recycling (by row) is permitted.

n

number of random vectors to generate. If ‘⁠length(n) > 1⁠’, the length is taken to be the number required.

Details

The Dirichlet distribution is the multidimensional generalization of the beta distribution. The original code was adapted to provide a kind of "vectorization" used in multivariate ‘⁠mcnode⁠’ objects.

Value

‘⁠ddirichlet⁠’ gives the density. ‘⁠rdirichlet⁠’ returns a matrix with ‘⁠n⁠’ rows, each containing a single Dirichlet random deviate.

Note

Code is adapted from ‘⁠MCMCpack⁠’. It originates from Greg's Miscellaneous Functions (gregmisc).

See Also

Beta

Examples

dat <- c(1, 10, 100, 1000, 1000, 100, 10, 1)
(alpha <- matrix(dat, nrow = 4, byrow = TRUE))
round(x <- rdirichlet(4, alpha), 2)
ddirichlet(x, alpha)

## rdirichlet used with mcstoc
mcalpha <- mcdata(dat, type = "V", nsv = 4, nvariates = 2)
(x <- mcstoc(rdirichlet, type = "V", alpha = mcalpha, nsv = 4, nvariates = 2))
unclass(x)

mc2d documentation built on Oct. 23, 2026, 1:06 a.m.