Learn R Programming

VGAM (version 1.1-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
# NOT RUN {
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)) 
# }

Run the code above in your browser using DataLab