R: The Dirichlet Distribution

dirichlet {mc2d} | R 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)

[Package mc2d version 0.1-18 Index]