Gregory Gentlemen
2010-Jul-05 21:10 UTC
[R] Function to compute the multinomial beta function?
Dear R-users, Is there an R function to compute the multinomial beta function? That is, the normalizing constant that arises in a Dirichlet distribution. For example, with three parameters the beta function is Beta(n1,n2,n2) = Gamma(n1)*Gamma(n2)*Gamma(n3)/Gamma(n1+n2+n3) Thanks in advance for any assisstance. Regards, Greg [[alternative HTML version deleted]]
Matt Shotwell
2010-Jul-05 21:32 UTC
[R] Function to compute the multinomial beta function?
How about this?
mbeta <- function(...) {
exp(sum(lgamma(c(...)))-lgamma(sum(c(...))))
}
> gamma(5)*gamma(6)*gamma(7)/gamma(18)
[1] 5.829838e-09> mbeta(5,6,7)
[1] 5.829838e-09
On Mon, 2010-07-05 at 17:10 -0400, Gregory Gentlemen
wrote:> Dear R-users,
>
> Is there an R function to compute the multinomial beta function? That is,
the normalizing constant that arises in a Dirichlet distribution. For example,
with three parameters the beta function is Beta(n1,n2,n2) =
Gamma(n1)*Gamma(n2)*Gamma(n3)/Gamma(n1+n2+n3)
>
> Thanks in advance for any assisstance.
>
> Regards,
> Greg
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
--
Matthew S. Shotwell
Graduate Student
Division of Biostatistics and Epidemiology
Medical University of South Carolina
http://biostatmatt.com
Robert A LaBudde
2010-Jul-06 00:54 UTC
[R] Function to compute the multinomial beta function?
At 05:10 PM 7/5/2010, Gregory Gentlemen wrote:>Dear R-users, > >Is there an R function to compute the multinomial beta function? >That is, the normalizing constant that arises in a Dirichlet >distribution. For example, with three parameters the beta function >is Beta(n1,n2,n2) = Gamma(n1)*Gamma(n2)*Gamma(n3)/Gamma(n1+n2+n3)> beta3<- function (n1, n2, n3) exp(lgamma(n1)+lgamma(n2)+lgamma(n3)-lgamma(n1+n2+n3)) > beta3(5,3,8) [1] 1.850002e-07 ===============================================================Robert A. LaBudde, PhD, PAS, Dpl. ACAFS e-mail: ral at lcfltd.com Least Cost Formulations, Ltd. URL: http://lcfltd.com/ 824 Timberlake Drive Tel: 757-467-0954 Virginia Beach, VA 23464-3239 Fax: 757-467-2947 "Vere scire est per causas scire"