etienne {untb} | R Documentation |
Etienne's sampling formula
Description
Function etienne()
returns the probability of a given dataset
given theta
and m
according to the Etienne's sampling
formula. Function optimal.params()
returns the maximum likelihood
estimates for theta
and m
using numerical optimization
Usage
etienne(theta, m, D, log.kda = NULL, give.log = TRUE, give.like = TRUE)
optimal.params(D, log.kda = NULL, start = NULL, give = FALSE, ...)
Arguments
theta |
Fundamental biodiversity parameter |
m |
Immigration probability |
D |
Dataset; a count object |
log.kda |
The KDA as defined in equation A11 of Etienne 2005. See details section |
give.log |
Boolean, with default |
give.like |
Boolean, with default |
start |
In function |
give |
In function |
... |
In function |
Details
Function etienne()
is just Etienne's formula 6:
P[D|\theta,m,J]=
\frac{J!}{\prod_{i=1}^Sn_i\prod_{j=1}^J{\Phi_j}!}
\frac{\theta^S}{(\theta)_J}\times
\sum_{A=S}^J\left(K(D,A)
\frac{(\theta)_J}{(\theta)_A}
\frac{I^A}{(I)_J}
\right)
where \log K(D,A)
is given by function logkda()
(qv). It
might be useful to know the (trivial) identity for the Pochhammer symbol
[written (z)_n
] documented in theta.prob.Rd
. For
convenience, Etienne's Function optimal.params()
uses
optim()
to return the maximum likelihood estimate for
\theta
and m
.
Compare function optimal.theta()
, which is restricted to no
dispersal limitation, ie m=1
.
Argument log.kda
is optional: this is the K(D,A)
as defined
in equation A11 of Etienne 2005; it is computationally expensive to
calculate. If it is supplied, the functions documented here will not
have to calculate it from scratch: this can save a considerable amount
of time
Author(s)
Robin K. S. Hankin
References
R. S. Etienne 2005. “A new sampling formula for biodiversity”. Ecology letters 8:253-260
See Also
Examples
data(butterflies)
## Not run: optimal.params(butterflies) #takes too long without PARI/GP
#Now the one from Etienne 2005, supplementary online info:
zoo <- count(c(pigs=1, dogs=1, cats=2, frogs=3, bats=5, slugs=8))
l <- logkda.R(zoo, use.brob=TRUE) # Use logkda() if pari/gp is available
optimal.params(zoo, log.kda=l) #compare his answer of 7.047958 and 0.22635923.