R: Zero-Inflated Geometric Distribution

Zigeom {VGAM} | R Documentation

## Zero-Inflated Geometric Distribution

### Description

Density, and random generation for the zero-inflated geometric distribution with parameter `pstr0`.

### Usage

    dzigeom(x, prob, pstr0 = 0, log = FALSE)
    pzigeom(q, prob, pstr0 = 0)
    qzigeom(p, prob, pstr0 = 0)
    rzigeom(n, prob, pstr0 = 0)

### Arguments

`x, q` | vector of quantiles.
`p` | vector of probabilities.
`prob` | see `dgeom`.
`n` | Same as in `runif`.
`pstr0` | Probability of structural zero (ignoring the geometric distribution), called phi. The default value corresponds to the response having an ordinary geometric distribution.
`log` | Logical. Return the logarithm of the answer?

### Details

The probability function of Y is 0 with probability phi, and geometric(prob) with probability 1-phi. Thus

P(Y=0) = phi + (1-phi) * P(W=0)

where W is distributed geometric(prob).

### Value

`dzigeom` gives the density, `pzigeom` gives the distribution function, `qzigeom` gives the quantile function, and `rzigeom` generates random deviates.

### Note

The argument `pstr0` is recycled to the required length, and must have values which lie in the interval [0,1].

These functions actually allow for zero-deflation. That is, the resulting probability of a zero count is less than the nominal value of the parent distribution. See `Zipois` for more information.

### Author(s)

T. W. Yee

### See Also

`zigeometric`, `dgeom`.

### Examples

    prob <- 0.5; pstr0 <- 0.2; x <- (-1):20
    (ii <- dzigeom(x, prob, pstr0))
    max(abs(cumsum(ii) - pzigeom(x, prob, pstr0)))  # Should be 0
    table(rzigeom(1000, prob, pstr0))

    ## Not run:  x <- 0:10
    barplot(rbind(dzigeom(x, prob, pstr0), dgeom(x, prob)),
            beside = TRUE, col = c("blue","orange"),
            ylab = "P[Y = y]", xlab = "y", las = 1,
            main = paste("zigeometric(", prob, ", pstr0 = ", pstr0,
                         ") (blue) vs",
                         " geometric(", prob, ") (orange)", sep = ""),
            names.arg = as.character(x))
    ## End(Not run)

[Package VGAM version 1.1-3 Index]