# dirichlet: The Dirichlet Distribution In mc2d: Tools for Two-Dimensional Monte-Carlo Simulations

## Description

Density function and random generation from the Dirichlet distribution.

## Usage

 ```1 2``` ```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).

`Beta`
 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```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) ```