[Rd] RFC: lchoose() vs lfactorial() etc
Robin Hankin
rksh1 at cam.ac.uk
Tue Dec 15 10:20:56 CET 2009
Hi Martin
I think you're absolutely right about this;
One thing I need again and again is
a multinomial function, and usually define:
> lmultinomial
function (x)
{
lfactorial(sum(x)) - sum(lfactorial(x))
}
> multinomial
function (x)
{
exp(lmultinomial(x))
}
It would be nice to have this in base R.
Is this the place to discuss having complex
arguments for gamma()?
best wishes
rksh
Martin Maechler wrote:
> lgamma(x) and lfactorial(x) are defined to return
>
> ln|Gamma(x)| {= log(abs(gamma(x)))} or ln|Gamma(x+1)| respectively.
>
> Unfortunately, we haven't chosen the analogous definition for
> lchoose().
>
> So, currently
>
> > lchoose(1/2, 1:10)
> [1] -0.6931472 -2.0794415 NaN -3.2425924 NaN -3.8869494
> [7] NaN -4.3357508 NaN -4.6805913
> Warning message:
> In lchoose(n, k) : NaNs produced
> >
>
> which (the NaN's) is not particularly useful.
> (I have use case where I really have to workaround those NaNs.)
>
> I herebey propose to *amend* the definition of lchoose() such
> that it behaves analogously to lgamma() and lfactorial(),
> i.e., to return
>
> log(abs(choose(.,.))
>
> Your comments are welcome.
> Martin Maechler, ETH Zurich
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Robin K. S. Hankin
Uncertainty Analyst
University of Cambridge
19 Silver Street
Cambridge CB3 9EP
01223-764877
More information about the R-devel
mailing list