
Last chance! 50% off unlimited learning
Sale ends in
lambda
.
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)
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.
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.
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.
dbinom
for the binomial and dnbinom
for
the negative binomial distribution.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")
Run the code above in your browser using DataLab