Logarithmic {actuar} | R Documentation |

Density function, distribution function, quantile function and random
generation for the Logarithmic (or log-series) distribution with parameter
`prob`

.

dlogarithmic(x, prob, log = FALSE) plogarithmic(q, prob, lower.tail = TRUE, log.p = FALSE) qlogarithmic(p, prob, lower.tail = TRUE, log.p = FALSE) rlogarithmic(n, prob)

`x` |
vector of (strictly positive integer) quantiles. |

`q` |
vector of quantiles. |

`p` |
vector of probabilities. |

`n` |
number of observations. If |

`prob` |
parameter. |

`log, log.p` |
logical; if |

`lower.tail` |
logical; if |

The logarithmic (or log-series) distribution with parameter
`prob`

*= p* has probability mass function

*
p(x) = a p^x / x,*

with *a = -1/log(1-p)* and for *x =
1, 2, …*, *0 ≤ p < 1*.

The logarithmic distribution is the limiting case of the
zero-truncated negative binomial distribution with `size`

parameter equal to *0*. Note that in this context, parameter
`prob`

generally corresponds to the probability of *failure*
of the zero-truncated negative binomial.

If an element of `x`

is not integer, the result of
`dlogarithmic`

is zero, with a warning.

The quantile is defined as the smallest value *x* such that
*F(x) ≥ p*, where *F* is the distribution function.

`dlogarithmic`

gives the probability mass function,
`plogarithmic`

gives the distribution function,
`qlogarithmic`

gives the quantile function, and
`rlogarithmic`

generates random deviates.

Invalid `prob`

will result in return value `NaN`

, with a warning.

The length of the result is determined by `n`

for
`rlogarithmic`

, and is the maximum of the lengths of the
numerical arguments for the other functions.

`qlogarithmic`

is based on `qbinom`

et al.; it uses the
Cornish–Fisher Expansion to include a skewness correction to a normal
approximation, followed by a search.

`rlogarithmic`

is an implementation of the LS and LK algorithms
of Kemp (1981) with automatic selection. As suggested by Devroye
(1986), the LS algorithm is used when `prob < 0.95`

, and the LK
algorithm otherwise.

Vincent Goulet vincent.goulet@act.ulaval.ca

Johnson, N. L., Kemp, A. W. and Kotz, S. (2005), *Univariate
Discrete Distributions, Third Edition*, Wiley.

Klugman, S. A., Panjer, H. H. and Willmot, G. E. (2012),
*Loss Models, From Data to Decisions, Fourth Edition*, Wiley.

Kemp, A. W. (1981), “Efficient Generation of Logarithmically
Distributed Pseudo-Random Variables”, *Journal of the Royal
Statistical Society, Series C*, vol. 30, p. 249-253.

Devroye, L. (1986), *Non-Uniform Random Variate Generation*,
Springer-Verlag. http://luc.devroye.org/rnbookindex.html

`dztnbinom`

for the zero-truncated negative binomial
distribution.

## Table 1 of Kemp (1981) [also found in Johnson et al. (2005), chapter 7] p <- c(0.1, 0.3, 0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 0.99, 0.995, 0.999, 0.9999) round(rbind(dlogarithmic(1, p), dlogarithmic(2, p), plogarithmic(9, p, lower.tail = FALSE), -p/((1 - p) * log(1 - p))), 2) qlogarithmic(plogarithmic(1:10, 0.9), 0.9) x <- rlogarithmic(1000, 0.8) y <- sort(unique(x)) plot(y, table(x)/length(x), type = "h", lwd = 2, pch = 19, col = "black", xlab = "x", ylab = "p(x)", main = "Empirical vs theoretical probabilities") points(y, dlogarithmic(y, prob = 0.8), pch = 19, col = "red") legend("topright", c("empirical", "theoretical"), lty = c(1, NA), pch = c(NA, 19), col = c("black", "red"))

[Package *actuar* version 3.1-4 Index]