| logseries {vcdExtra} | R Documentation |
The Logarithmic Series Distribution
Description
The logarithmic series distribution is a long-tailed distribution introduced by Fisher etal. (1943) in connection with data on the abundance of individuals classified by species.
These functions provide the density, distribution function, quantile function and
random generation for the
logarithmic series distribution with parameter prob.
Usage
dlogseries(x, prob = 0.5, log = FALSE)
plogseries(q, prob = 0.5, lower.tail = TRUE, log.p = FALSE)
qlogseries(p, prob = 0.5, lower.tail = TRUE, log.p = FALSE, max.value = 10000)
rlogseries(n, prob = 0.5)
Arguments
x, q |
vector of quantiles representing the number of events. |
prob |
parameter for the distribution, |
log, log.p |
logical; if TRUE, probabilities |
lower.tail |
logical; if TRUE (default), probabilities are |
p |
vector of probabilities |
max.value |
maximum value returned by |
n |
number of observations for |
Details
The logarithmic series distribution with prob = p has density
p ( x ) = \alpha p^x / x
for x = 1, 2, \dots, where \alpha= -1 / \log(1 - p)
and 0 < p <1. Note that counts x==2 cannot occur.
Value
dlogseries gives the density,
plogseries gives the distribution function,
qlogseries gives the quantile function, and
rlogseries generates random deviates.
Author(s)
Michael Friendly, using
original code modified from the gmlss.dist package
by Mikis Stasinopoulos.
References
https://en.wikipedia.org/wiki/Logarithmic_distribution
Fisher, R. A. and Corbet, A. S. and Williams, C. B. (1943). The relation between the number of species and the number of individuals Journal of Animal Ecology, 12, 42-58.
See Also
Distributions, ~~~
Examples
XL <-expand.grid(x=1:5, p=c(0.33, 0.66, 0.99))
lgs.df <- data.frame(XL, prob=dlogseries(XL[,"x"], XL[,"p"]))
lgs.df$p = factor(lgs.df$p)
str(lgs.df)
require(lattice)
mycol <- palette()[2:4]
xyplot( prob ~ x, data=lgs.df, groups=p,
xlab=list('Number of events (k)', cex=1.25),
ylab=list('Probability', cex=1.25),
type='b', pch=15:17, lwd=2, cex=1.25, col=mycol,
key = list(
title = 'p',
points = list(pch=15:17, col=mycol, cex=1.25),
lines = list(lwd=2, col=mycol),
text = list(levels(lgs.df$p)),
x=0.9, y=0.98, corner=c(x=1, y=1)
)
)
# random numbers
hist(rlogseries(200, prob=.4), xlab='x')
hist(rlogseries(200, prob=.8), xlab='x')