The function ddirichlet() computes the density of a Dirichlet distribution.
The function rdirichlet() samples from a Dirichlet distribution.
The functions with suffix _cpp perform no input checks, hence are faster.
Usage
ddirichlet_cpp(x, concentration, log = FALSE)
rdirichlet_cpp(concentration)
ddirichlet(x, concentration, log = FALSE)
rdirichlet(n = 1, concentration)Value
For ddirichlet(): The density value.
For rdirichlet(): If n = 1 a vector of length p, else
a matrix of dimension n times p with samples as rows.
See also
Other simulation helpers:
Simulator,
correlated_regressors(),
dmixnorm_cpp(),
dmvnorm_cpp(),
dtnorm_cpp(),
dwishart_cpp(),
gaussian_tv(),
simulate_markov_chain()
Examples
x <- c(0.5, 0.3, 0.2)
concentration <- 1:3
# compute density
ddirichlet(x = x, concentration = concentration)
#> [1] 0.72
ddirichlet(x = x, concentration = concentration, log = TRUE)
#> [1] -0.3285041
# sample
rdirichlet(concentration = 1:3)
#> [1] 0.3105347 0.4613124 0.2281529
rdirichlet(n = 4, concentration = 1:2)
#> [,1] [,2]
#> [1,] 0.4277284 0.5722716
#> [2,] 0.3666722 0.6333278
#> [3,] 0.8353145 0.1646855
#> [4,] 0.1692565 0.8307435
