The Logarithmic Series Distribution
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
.
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)
x, q |
vector of quantiles representing the number of events. |
prob |
parameter for the distribution, |
log, log.p |
ogical; if TRUE, probabilities |
lower.tail |
logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]. |
p |
vector of probabilities |
max.value |
maximum value returned by |
n |
number of observations for |
The logarithmic series distribution with prob
= p has density
p ( x ) = α p^x / x
for x = 1, 2, …, where α= -1 / \log(1 - p)
and 0 < p <1. Note that counts x==2
cannot occur.
dlogseries
gives the density,
plogseries
gives the distribution function,
qlogseries
gives the quantile function, and
rlogseries
generates random deviates.
Michael Friendly, using
original code modified from the gmlss.dist
package
by Mikis Stasinopoulos.
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.
Distributions
, ~~~
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')
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.