Binomial                package:base                R Documentation

The Binomial Distribution

Description:

     Density, distribution function, quantile function and random
     generation for the binomial distribution with parameters `size'
     and `prob'.

Usage:

     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)

Arguments:

    x, q: vector of quantiles.

       p: vector of probabilities.

       n: number of observations. If `length(n) > 1', the length is
          taken to be the number required.

    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].

Details:

     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.

Value:

     `dbinom' gives the density, `pbinom' gives the distribution
     function, `qbinom' gives the quantile function and `rbinom'
     generates random deviates.

References:

     Catherine Loader (2000). Fast and Accurate Computation of Binomial
     Probabilities; manuscript available from <URL:
     http://cm.bell-labs.com/cm/ms/departments/sia/catherine/dbinom>

See Also:

     `dnbinom' for the negative binomial, and `dpois' for the Poisson
     distribution.

Examples:

     # 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)

