mc2d (version 0.1-17)

dirichlet: 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.

Value

ddirichlet gives the density. 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. The original code was adapted to provide a kind of "vectorization" used in multivariates mcnode.

See Also

Beta

Examples

Run this code
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)

Run the code above in your browser using DataLab