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 multivariates ‘⁠mcnode⁠’.

Value

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

Author(s)

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)
x <- mcstoc(rdirichlet, type="VU", alpha=mcalpha, nsv=4, nsu=10, nvariates=2)
unclass(x)


mc2d documentation built on July 26, 2023, 6:07 p.m.