Learn R Programming

VGAM (version 1.0-2)

Zigeom: 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?

Value

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

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)$.

See Also

zigeometric, dgeom.

Examples

Run this code
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)

Run the code above in your browser using DataLab