logkda.R(a, use.brob=TRUE)
logkda.a11(a)
logkda.pari(a, numerical=TRUE, gp_binary = "gp")
logkda.polyn(a)
logkda(a, method="pari", ...)
logkda_pari_unix(a, numerical, pari_string, gp_binary)
logkda_pari_windows(a, numerical, pari_string)
logkda.R()
, Boolean, with default
TRUE
meaning to use Brobdingnagian numbers for the
calculation. This is slower but allows one to analyze larger
datasetsTRUE
meaning to coerce
to a numerical vector (thereby losing precision), and FALSE
meaning to return the string produced by pari/gp
logkda()
, a string specifying which
method to use. Takes R, a11, or parilogkda()
, further arguments which are
passed to the other functionslogkda()
, which is a wrapper for
the other functions. Note that the default method, pari
,
requires the pari/gp system to be installed. This is the preferred
option because it is much faster than the other methods.
Functions logkda.R()
and logkda.pari()
calculate
$K(D,A)$ using the method appearing in Etienne (2005), supplementary
online material; they use R
and pari/gp
respectively.
Function logkda.a11
is a direct implementation of formula A11
in Etienne (2005). The formula is$$
K(D,A)=
\sum_{\left\{a_1,\ldots,a_S|\sum a_i=A\right\}}
\prod_{i=1}^S\frac{
\overline{s}\left(n_i, a_i\right)
\overline{s}\left(a_i, 1\right) }{
\overline{s}\left(n_i,1\right)}$$
where $\overline{s}\left(n_i,a_i\right)$ are Stirling numbers of
the first kind (see logS1
).
Function logkda.pari()
dispatches to either
logkda_pari_unix()
or logkda_pari_windows()
but the
windows function is not guaranteed to work.
doi: 10.111/j.1461-0248.2004.00717.x
C. Batut and K. Belabas and D. Bernardi and H. Cohen and M. Olivier 2000. User's guide to PARI/GP. http://www.parigp-home.de/
etienne
,logS1
a <- count(c(dogs=7,pigs=3,crabs=1,hogs=1,slugs=1))
## Not run: logkda(a)
logkda.R(a)
logkda.R(a, use.brob=FALSE)
logkda.a11(a)
# All four should be the same up to numerical errors
Run the code above in your browser using DataLab