NegBinomial {base} | R Documentation |
These functions provide information about the negative binomial
distribution with parameters size
and prob
. dnbinom
gives the density, pnbinom
gives the distribution function,
qnbinom
gives the quantile function and rnbinom
generates random deviates.
dnbinom(x, size, prob) pnbinom(q, size, prob) qnbinom(p, size, prob) rnbinom(n, size, prob)
x,q |
vector of quantiles representing the number of failures
which occur in a sequence of Bernoulli trials before a target number of
successes is reached, or alternately the probability distribution
of a compound Poisson process whose intensity is distributed
as a gamma (pgamma ) distribution with scale parameter
(1-prob)/prob and shape parameter size (this definition
allows non-integer values of size ). |
x |
vector of (non-negative integer) quantiles. |
q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations to generate. |
size |
target for number of successful trials / shape parameter of gamma distribution. |
prob |
probability of success in each trial / determines scale of gamma distribution ( prob = scale/(1+scale) ). |
The negative binomial distribution with size
= n and
prob
= p has density
p(x) = Gamma(x+n)/(Gamma(n) x!) p^n (1-p)^x
for x = 0, 1, 2, ...
If an element of x
is not integer, the result of dnbinom
is zero, with a warning.
The quantile is left continuous: qnbinom(q, ...)
is the
largest integer x such that P(X <= x) < q.
dbinom
for the binomial, dpois
for the
Poisson and dgeom
for the geometric distribution, which
is a special case of the negative binomial.
x <- 0:11 dnbinom(x, size = 1, prob = 1/2) * 2^(1 + x) # == 1 126 / dnbinom(0:8, size = 2, prob = 1/2) #- theoretically integer ## Cumulative ('p') = Sum of discrete prob.s ('d'); Relative error : summary(1 - cumsum(dnbinom(x, size = 2, prob = 1/2)) / pnbinom(x, size = 2, prob = 1/2)) x <- 0:15 size <- (1:20)/4 persp(x,size, dnb <- outer(x,size,function(x,s)dnbinom(x,s, pr= 0.4))) title(tit <- "negative binomial density(x,s, pr = 0.4) vs. x & s") ## if persp() only could label axes .... image (x,size, log10(dnb), main= paste("log [",tit,"]")) contour(x,size, log10(dnb),add=TRUE)