On Thu, 3 Jul 2008, Ben Bolker wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
~ turns out I don't need to look at the C code.
~ if one uses the mu/size parameterization of the
negative binomial, R computes size/(size+mu) to
switch parameterizations. If size>>mu this
gets rounded to 1 ... should be easy enough
to test and return NA under these circumstances?
It is all vectorized, so not so easy. But why is NA appropriate, when a
Poisson approximation seems more appropriate?
The same issue affects [pqr]nbinom, of course.
The short-term advice is of course 'don't do that' but use a suitable
approximation such as Poisson. Maybe there are reasons to support values
of size > 1e10, but I suspect only for completeness and maybe it is better
to at least give a warning.
function (x, size, prob, mu, log = FALSE)
{
~ if (!missing(mu)) {
~ if (!missing(prob))
~ stop("'prob' and 'mu' both specified")
~ prob <- size/(size + mu)
~ }
~ .Internal(dnbinom(x, size, prob, log))
}
~ Ben Bolker
- --------------------------
~ Check it out:
curve(dnbinom(1,mu=0.5,size=x),log="x",from=1,to=1e18)
abline(h=dpois(1,lambda=0.5),col=2,lty=2)
text(1,dpois(1,lambda=0.5)+0.02,"Poisson",col=2,pos=4)
~ I will take a look in the C code when I get
a chance to see if I can offer
a patch, but in the meantime wanted to alert people to
this "feature" ... (it looks like I will have to go
through dnbinom and dbinom_raw to see where the problem
is ...)
~ Ben Bolker
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIbYyRc5UpGjwzenMRAh57AJ49SUuWs1++D7sacUnFZud2MAROhACfThzD
OmM9WuuFZrk4kO1s9MafLlk=
=wzaH
-----END PGP SIGNATURE-----
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Brian D. Ripley, [EMAIL PROTECTED]
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel