Draw a random sample from a zero-inflated negative binomial distribution
Source:R/ZINegativeBinomial.R
random.ZINegativeBinomial.Rd
Draw a random sample from a zero-inflated negative binomial distribution
Usage
# S3 method for class 'ZINegativeBinomial'
random(x, n = 1L, drop = TRUE, ...)
Arguments
- x
A
ZINegativeBinomial
object created by a call toZINegativeBinomial()
.- n
The number of samples to draw. Defaults to
1L
.- drop
logical. Should the result be simplified to a vector if possible?
- ...
Unused. Unevaluated arguments will generate a warning to catch mispellings or other possible errors.
Value
In case of a single distribution object or n = 1
, either a numeric
vector of length n
(if drop = TRUE
, default) or a matrix
with n
columns
(if drop = FALSE
).
Examples
## set up a zero-inflated negative binomial distribution
X <- ZINegativeBinomial(mu = 2.5, theta = 1, pi = 0.25)
X
#> [1] "ZINegativeBinomial(mu = 2.5, theta = 1, pi = 0.25)"
## standard functions
pdf(X, 0:8)
#> [1] 0.46428571 0.15306122 0.10932945 0.07809246 0.05578033 0.03984309 0.02845935
#> [8] 0.02032811 0.01452008
cdf(X, 0:8)
#> [1] 0.4642857 0.6173469 0.7266764 0.8047688 0.8605492 0.9003923 0.9288516
#> [8] 0.9491797 0.9636998
quantile(X, seq(0, 1, by = 0.25))
#> [1] 0 0 1 3 Inf
## cdf() and quantile() are inverses for each other
quantile(X, cdf(X, 3))
#> [1] 3
## density visualization
plot(0:8, pdf(X, 0:8), type = "h", lwd = 2)
## corresponding sample with histogram of empirical frequencies
set.seed(0)
x <- random(X, 500)
hist(x, breaks = -1:max(x) + 0.5)