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"