| Binomial {base} | R Documentation |
Density, distribution function, quantile function and random
generation for the binomial distribution with parameters size
and prob.
dbinom(x, size, prob, log = FALSE) pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE) qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE) rbinom(n, size, prob)
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations to generate. |
size |
number of trials. |
prob |
probability of success on each trial. |
log, log.p |
logical; if TRUE, probabilities p are given as log(p). |
lower.tail |
logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]. |
The binomial distribution with size = n and
prob = p has density
p(x) = Choose(n,x) p^x (1-p)^(n-x)
for x = 0, ..., n.
If an element of x is not integer, the result of dbinom
is zero, with a warning.
p(x) is computed using Loader's algorithm, see the reference below.
The quantile is defined as the smallest value x such that F(x) >= p, where F is the distribution function.
dbinom gives the density, pbinom gives the distribution
function, qbinom gives the quantile function and rbinom
generates random deviates.
Catherine Loader (2000). Fast and Accurate Computation of Binomial Probabilities; manuscript available from http://cm.bell-labs.com/cm/ms/departments/sia/catherine/dbinom
dnbinom for the negative binomial, and
dpois for the Poisson distribution.
# Compute P(45 < X < 55) for X Binomial(100,0.5)
sum(dbinom(46:54, 100, 0.5))
## Using "log = TRUE" for an extended range :
n <- 2000
plot (0:n, dbinom(0:n, n, pi/10, log=TRUE), type='l',
main = "dbinom(*, log=TRUE) is better than log(dbinom(*))")
lines(0:n, log(dbinom(0:n, n, pi/10)), col='red', lwd=2)
mtext("dbinom(k, log=TRUE)", adj=0)
mtext("extended range", adj=0, line = -1, font=4)
mtext("log(dbinom(k))", col="red", adj=1)