Learn R Programming

VGAM (version 1.1-12)

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)

Value

dzigeom gives the density,

pzigeom gives the distribution function,

qzigeom gives the quantile function, and

rzigeom generates random deviates.

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?

Author

T. W. Yee

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

if (FALSE)  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 = paste0("zigeometric(", prob, ", pstr0 = ", pstr0,
                 ") (blue) vs", " geometric(", prob, ") (orange)"),
   names.arg = as.character(x)) 

Run the code above in your browser using DataLab