Density, distribution function, quantile function and random generation for the negative binomial distribution, modified to work with rvecs.
Usage
dnbinom_rvec(x, size, prob, mu, log = FALSE)
pnbinom_rvec(q, size, prob, mu, lower.tail = TRUE, log.p = FALSE)
qnbinom_rvec(p, size, prob, mu, lower.tail = TRUE, log.p = FALSE)
rnbinom_rvec(n, size, prob, mu, n_draw = NULL)
Arguments
- x
Quantiles. Can be an rvec.
- size
Number of trials. See
stats::dnbinom()
. Can be an rvec.- prob
Probability of success in each trial. See
stats::dnbinom()
. Can be an rvec.- mu
Mean value. See
stats::dnbinom()
. Can be an rvec.- log, log.p
Whether to return results on a log scale. Default is
FALSE
. Cannot be an rvec.- q
Quantiles. Can be an rvec.
- lower.tail
Whether to return \(P[X \le x]\), as opposed to \(P[X > x]\). Default is
TRUE
. Cannot be an rvec.- p
Probabilities. Can be an rvec.
- n
The length of random vector being created. Cannot be an rvec.
- n_draw
Number of random draws in the random vector being created. Cannot be an rvec.
Value
If any of the arguments are rvecs, or if a value for
n_draw
is supplied, then an rvecOtherwise an ordinary R vector.
Details
Functions dnbinom_rvec()
, pnbinom_rvec()
,
pnbinom_rvec()
and rnbinom_rvec()
work like
base R functions dnbinom()
, pnbinom()
,
qnbinom()
, and rnbinom()
, except that
they accept rvecs as inputs. If any
input is an rvec, then the output will be too.
Function rnbinom_rvec()
also returns an
rvec if a value for n_draw
is supplied.
dnbinom_rvec()
, pnbinom_rvec()
,
pnbinom_rvec()
and rnbinom_rvec()
use tidyverse
vector recycling rules:
Vectors of length 1 are recycled
All other vectors must have the same size
Examples
x <- rvec(list(c(3, 5),
c(0, 2)))
dnbinom_rvec(x, size = 6, prob = 0.2)
#> <rvec_dbl<2>[2]>
#> [1] 0.001835,0.005285 0.000064,0.0008602
pnbinom_rvec(x, size = 6, prob = 0.2)
#> <rvec_dbl<2>[2]>
#> [1] 0.003066,0.01165 0.000064,0.001231
rnbinom_rvec(n = 2,
size = 2,
mu = c(4, 8),
n_draw = 1000)
#> <rvec_int<1000>[2]>
#> [1] 3 (0, 13) 7 (0, 25)