[R] Function to compute the multinomial beta function?

Matt Shotwell shotwelm at musc.edu
Mon Jul 5 23:32:33 CEST 2010


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



More information about the R-help mailing list