Pospois {VGAM} | R Documentation

## Positive-Poisson Distribution

### Description

Density, distribution function, quantile function and random generation for the positive-Poisson distribution.

### Usage

    dpospois(x, lambda, log=FALSE)
    ppospois(q, lambda)
    qpospois(p, lambda)
    rpospois(n, lambda)

### Arguments

`x, q` | vector of quantiles.
`p` | vector of probabilities.
`n` | number of observations. If `length(n) > 1` then the length is taken to be the number required.
`lambda` | vector of positive means (of an ordinary Poisson distribution). Short vectors are recycled.
`log` | logical.

### Details

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.

### Value

`dpospois` gives the density, `ppospois` gives the distribution function, `qpospois` gives the quantile function, and `rpospois` generates random deviates.

### Note

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.

### Author(s)

T. W. Yee

### See Also

`pospoisson`, `zapoisson`, `rpois`.

### Examples

    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)

[Package VGAM version 0.7-9 Index]