Pospois {VGAM} | R Documentation |
Density, distribution function, quantile function and random generation for the positive-Poisson distribution.
dpospois(x, lambda) ppospois(q, lambda) qpospois(p, lambda) rpospois(n, lambda)
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations. Must be a single positive integer. |
lambda |
vector of positive means (of an ordinary Poisson distribution). Short vectors are recycled. |
The positive-Poisson distribution is a Poisson distribution but with the probability of a zero being zero. The other probabilities are scaled to add to unity. The mean therefore is
lambda / (1-exp(-lambda)).
As lambda increases, the positive-Poisson and Poisson
distributions become more similar.
Unlike similar functions for the Poisson distribution, a zero value
of lambda
is not permitted here.
dpospois
gives the density,
ppospois
gives the distribution function,
qpospois
gives the quantile function, and
rpospois
generates random deviates.
For rpospois
, the arguments of the function are fed into
rpois
until n positive values
are obtained. This may take a long time if lambda
has values
close to 0.
The family function pospoisson
estimates
lambda by maximum likelihood estimation.
T. W. Yee
lambda = 2 y = rpospois(n=1000, lambda) table(y) mean(y) # Sample mean lambda / (1-exp(-lambda)) # Population mean (i = dpospois(0:7, lambda)) cumsum(i) - ppospois(0:7, lambda) # Should be 0s table(rpospois(100, lambda)) table(qpospois(runif(1000), lambda)) round(dpospois(1:10, lambda) * 1000) # Should be similar ## Not run: x = 0:7 barplot(rbind(dpospois(x, lambda), dpois(x, lambda)), beside = TRUE, col = c("blue","green"), main=paste("Positive Poisson(", lambda, ") (blue) vs", " Poisson(", lambda, ") (green)", sep=""), names.arg = as.character(x), las=1, lwd=2) ## End(Not run)