Generates Dirichlet random variates.
rdiric(n, shape, dimension = NULL, is.matrix.shape = FALSE)
number of observations.
Note it has two meanings, see is.matrix.shape
below.
the shape parameters. These must be positive.
If dimension
is specifed, values
are recycled if necessary to length dimension
.
the dimension of the distribution.
If dimension
is not numeric then it is taken to be
length(shape)
(or ncol(shape)
if is.matrix.shape == TRUE
).
Logical.
If TRUE
then shape
must be a matrix, and then
n
is no longer the number of rows of the answer but the
answer has n * nrow(shape)
rows.
If FALSE
(the default) then shape
is a vector and each
of the n
rows of the answer have shape
as
its shape parameters.
A n
by dimension
matrix of Dirichlet random variates.
Each element is positive, and each row will sum to unity.
If shape
has names then these will become the column names
of the answer.
This function is based on a relationship between the gamma and Dirichlet distribution. Random gamma variates are generated, and then Dirichlet random variates are formed from these.
Lange, K. (2002). Mathematical and Statistical Methods for Genetic Analysis, 2nd ed. New York: Springer-Verlag.
dirichlet
is a VGAM family function for
fitting a Dirichlet distribution to data.
# NOT RUN {
ddata <- data.frame(rdiric(n = 1000, shape = c(y1 = 3, y2 = 1, y3 = 4)))
fit <- vglm(cbind(y1, y2, y3) ~ 1, dirichlet, data = ddata, trace = TRUE)
Coef(fit)
coef(fit, matrix = TRUE)
# }
Run the code above in your browser using DataLab