| 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
plot(x, dpospois(x, lambda), type="h", ylab="Probability",
main=paste("Positive Poisson(", lambda, ") (blue) vs",
" Poisson(", lambda, ") (red and shifted slightly)", sep=""),
lwd=2, col="blue", las=1)
lines(x+0.05, dpois(x, lambda), type="h", lwd=2, col="red")
## End(Not run)