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\).
Note that \(\lambda = 0\) is really a limit case (setting \(0^0 = 1\)) resulting in a point mass at \(0\), see also the example.
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.
See Also
Distributions for other standard distributions, including
dbinom
for the binomial and dnbinom
for
the negative binomial distribution.
Examples
library(stats)
# NOT RUN {
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")
## The (limit) case lambda = 0 :
stopifnot(identical(dpois(0,0), 1),
identical(ppois(0,0), 1),
identical(qpois(1,0), 0))
# }