I need to simulate bivariate beta distribution, $BIBETA(6, 20, 2)$ in r. I am looking for a package/ code that would generate bivariate beta distribution. I couldn't find the r function for this distribution.

The probability density function of the Bivariate beta distribution is given as below.

$$f(x,y) = \dfrac{1}{B(a,b,c)} \dfrac{x^{a-1}y^{b-1}(1-x)^{b+c-1}(1-y)^{a+c-1}}{(1-xy)^{a+b+c}}$$ Is anyone know which r function can be used for this simulation?


1 Answer 1


There is a package called MultiRNG that implements this sort of multivariate simulation for a wide class of multivariate distributions (in your particular case, you are interested in the draw.dirichlet function).

More interestingly, you could write your own function by implementing a very simple acceptance-rejection scheme (it is very similar to the univariate case). I remember reading the paper by Loukas some years ago which thoroughly showcases several options you could go for.

  • $\begingroup$ Do they have dirichlet cdf in r? $\endgroup$
    – score324
    Oct 4, 2018 at 13:17
  • $\begingroup$ Probably this is what you are looking for, although in your question you asked for simulation! $\endgroup$
    – Easymode44
    Oct 4, 2018 at 13:23
  • $\begingroup$ I am trying to use the above function. I have a <- c(6, 20,2). I generated x and y random variables using draw.dirichlet. Now what is t in the above function. is t 2 by 2 matrix? $\endgroup$
    – score324
    Oct 4, 2018 at 13:36
  • $\begingroup$ The draw.dirichlet implements a Dirichlet distribution, which is NOT the bivariate beta asked for. $\endgroup$ Jul 26, 2021 at 1:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.