VGAM (version 1.1-9)

Zibinom: Zero-Inflated Binomial Distribution

Description

Density, distribution function, quantile function and random generation for the zero-inflated binomial distribution with parameter pstr0.

Usage

dzibinom(x, size, prob, pstr0 = 0, log = FALSE)
pzibinom(q, size, prob, pstr0 = 0)
qzibinom(p, size, prob, pstr0 = 0)
rzibinom(n, size, prob, pstr0 = 0)

Value

dzibinom gives the density,

pzibinom gives the distribution function,

qzibinom gives the quantile function, and

rzibinom generates random deviates.

Arguments

x, q

vector of quantiles.

p

vector of probabilities.

size

number of trials. It is the \(N\) symbol in the formula given in zibinomial.

prob

probability of success on each trial.

n

Same as in runif.

log

Same as pbinom.

pstr0

Probability of a structural zero (i.e., ignoring the binomial distribution), called \(\phi\). The default value of \(\phi=0\) corresponds to the response having an ordinary binomial distribution.

Author

T. W. Yee

Details

The probability function of \(Y\) is 0 with probability \(\phi\), and \(Binomial(size, prob)\) with probability \(1-\phi\). Thus $$P(Y=0) =\phi + (1-\phi) P(W=0)$$ where \(W\) is distributed \(Binomial(size, prob)\).

See Also

zibinomial, Gaitdbinom, Binomial.

Examples

Run this code
prob <- 0.2; size <- 10; pstr0 <- 0.5
(ii <- dzibinom(0:size, size, prob, pstr0 = pstr0))
max(abs(cumsum(ii) - pzibinom(0:size, size, prob, pstr0 = pstr0)))  # 0?
table(rzibinom(100, size, prob, pstr0 = pstr0))

table(qzibinom(runif(100), size, prob, pstr0 = pstr0))
round(dzibinom(0:10, size, prob, pstr0 = pstr0) * 100)  # Similar?

if (FALSE)  x <- 0:size
barplot(rbind(dzibinom(x, size, prob, pstr0 = pstr0),
                dbinom(x, size, prob)),
    beside = TRUE, col = c("blue", "green"), ylab = "Probability",
    main = paste0("ZIB(", size, ", ", prob, ", pstr0 = ", pstr0, ")",
                 " (blue) vs Binomial(", size, ", ", prob, ") (green)"),
    names.arg = as.character(x), las = 1, lwd = 2) 

Run the code above in your browser using DataLab