Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

zipfmbUC

The Zipf-Mandelbrot Distribution


Description

Density, distribution function, quantile function and random generation for the Mandelbrot distribution.

Usage

dzipfmb(x, shape, start = 1, log = FALSE)
pzipfmb(q, shape, start = 1, lower.tail = TRUE, log.p = FALSE)
qzipfmb(p, shape, start = 1)
rzipfmb(n, shape, start = 1)

Arguments

x

vector of (non-negative integer) quantiles.

q

vector of quantiles.

p

vector of probabilities.

n

number of random values to return.

shape

vector of positive shape parameter.

start

integer, the minimum value of the support of the distribution.

log, log.p

logical; if TRUE, probabilities p are given as log(p)

lower.tail

logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x].

Details

The probability mass function of the zipf-mandelbrot distribution is given by

P(Y=y) = ((b)Gamma(a))/(Gamma(a-b)) * Gamma(y+-b)/Gamma(y+1)

where 0<=b<1 and the starting value start being by default 1.

Value

dzipfmb gives the density, pzipfmb gives the distribution function, qzipfmb gives the quantile function, and rzipfmb generates random deviates.

Author(s)

M. Chou, with edits by T. W. Yee.

References

Mandelbrot, B. (1961). On the theory of word frequencies and on related Markovian models of discourse. In R. Jakobson, Structure of Language and its Mathematical Aspects, pp. 190–219, Providence, RI, USA. American Mathematical Society.

Moreno-Sanchez, I. and Font-Clos, F. and Corral, A. (2016). Large-Scale Analysis of Zipf's Law in English Texts. PLos ONE, 11(1), 1–19.

See Also

Examples

aa <- 1:10
(pp <- pzipfmb(aa, shape = 0.5, start = 1))
cumsum(dzipfmb(aa, shape = 0.5, start = 1))  # Should be same
qzipfmb(pp, shape = 0.5, start = 1) - aa  # Should be  all 0s

rdiffzeta(30, 0.5)

## Not run: 
x <- 1:10
plot(x, dzipfmb(x, shape = 0.5), type = "h", ylim = 0:1,
     sub = "shape=0.5", las = 1, col = "blue", ylab = "Probability",
     main = "Zipf-Mandelbrot distribution: blue=PMF; orange=CDF")
lines(x + 0.1, pzipfmb(x, shape = 0.8), col = "orange", lty = 3, type = "h") 

## End(Not run)

VGAM

Vector Generalized Linear and Additive Models

v1.1-5
GPL-3
Authors
Thomas Yee [aut, cre], Cleve Moler [ctb] (author of several LINPACK routines)
Initial release
2021-01-13

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.