# Poisson

##### The Poisson Distribution

Density, distribution function, quantile function and random
generation for the Poisson distribution with parameter `lambda`

.

- Keywords
- distribution

##### Usage

```
dpois(x, lambda, log = FALSE)
ppois(q, lambda, lower.tail = TRUE, log.p = FALSE)
qpois(p, lambda, lower.tail = TRUE, log.p = FALSE)
rpois(n, lambda)
```

##### Arguments

- x
- vector of (non-negative integer) quantiles.
- q
- vector of quantiles.
- p
- vector of probabilities.
- n
- number of random values to return.
- lambda
- vector of (non-negative) means.
- log, log.p
- logical; if TRUE, probabilities p are given as log(p).
- lower.tail
- logical; if TRUE (default), probabilities are $P[X \le x]$, otherwise, $P[X > x]$.

##### Details

The Poisson distribution has density $$p(x) = \frac{\lambda^x e^{-\lambda}}{x!}$$ for $x = 0, 1, 2, \ldots$ . The mean and variance are $E(X) = Var(X) = \lambda$.

If an element of `x`

is not integer, the result of `dpois`

is zero, with a warning.
$p(x)$ is computed using Loader's algorithm, see the reference in
`dbinom`

.

The quantile is right continuous: `qpois(p, lambda)`

is the smallest
integer $x$ such that $P(X \le x) \ge p$.

Setting `lower.tail = FALSE`

allows to get much more precise
results when the default, `lower.tail = TRUE`

would return 1, see
the example below.

##### Value

`dpois`

gives the (log) density,`ppois`

gives the (log) distribution function,`qpois`

gives the quantile function, and`rpois`

generates random deviates.Invalid

`lambda`

will result in return value`NaN`

, with a warning.The length of the result is determined by

`n`

for`rpois`

, and is the maximum of the lengths of the numerical arguments for the other functions. The numerical arguments other than`n`

are recycled to the length of the result. Only the first elements of the logical arguments are used.

##### source

`dpois`

uses C code contributed by Catherine Loader
(see `dbinom`

).

`ppois`

uses `pgamma`

.

`qpois`

uses the Cornish--Fisher Expansion to include a skewness
correction to a normal approximation, followed by a search.

`rpois`

uses

Ahrens, J. H. and Dieter, U. (1982).
Computer generation of Poisson deviates from modified normal distributions.
*ACM Transactions on Mathematical Software*, **8**, 163--179.

##### See Also

Distributions for other standard distributions, including
`dbinom`

for the binomial and `dnbinom`

for
the negative binomial distribution.

##### Examples

`library(stats)`

```
require(graphics)
-log(dpois(0:7, lambda = 1) * gamma(1+ 0:7)) # == 1
Ni <- rpois(50, lambda = 4); table(factor(Ni, 0:max(Ni)))
1 - ppois(10*(15:25), lambda = 100) # becomes 0 (cancellation)
ppois(10*(15:25), lambda = 100, lower.tail = FALSE) # no cancellation
par(mfrow = c(2, 1))
x <- seq(-0.01, 5, 0.01)
plot(x, ppois(x, 1), type = "s", ylab = "F(x)", main = "Poisson(1) CDF")
plot(x, pbinom(x, 100, 0.01), type = "s", ylab = "F(x)",
main = "Binomial(100, 0.01) CDF")
```

*Documentation reproduced from package stats, version 3.3, License: Part of R 3.3*