# Binomial: Create a Binomial distribution In alexpghayes/distributions: Probability Distributions as S3 Objects

## Description

Binomial distributions are used to represent situations can that can be thought as the result of n Bernoulli experiments (here the n is defined as the `size` of the experiment). The classical example is n independent coin flips, where each coin flip has probability `p` of success. In this case, the individual probability of flipping heads or tails is given by the Bernoulli(p) distribution, and the probability of having x equal results (x heads, for example), in n trials is given by the Binomial(n, p) distribution. The equation of the Binomial distribution is directly derived from the equation of the Bernoulli distribution.

## Usage

 `1` ```Binomial(size, p = 0.5) ```

## Arguments

 `size` The number of trials. Must be an integer greater than or equal to one. When `size = 1L`, the Binomial distribution reduces to the bernoulli distribution. Often called `n` in textbooks. `p` The success probability for a given trial. `p` can be any value in `[0, 1]`, and defaults to `0.5`.

## Details

The Binomial distribution comes up when you are interested in the portion of people who do a thing. The Binomial distribution also comes up in the sign test, sometimes called the Binomial test (see `stats::binom.test()`), where you may need the Binomial C.D.F. to compute p-values.

We recommend reading this documentation on https://alexpghayes.github.io/distributions3, where the math will render with additional detail.

In the following, let X be a Binomial random variable with parameter `size` = n and `p` = p. Some textbooks define q = 1 - p, or called π instead of p.

Support: {0, 1, 2, ..., n}

Mean: np

Variance: np (1 - p)

Probability mass function (p.m.f):

P(X = k) = choose(n, k) p^k (1 - p)^(n - k)

Cumulative distribution function (c.d.f):

P(X ≤ k) = ∑_{i=0}^k choose(n, i) p^i (1 - p)^(n-i)

Moment generating function (m.g.f):

E(e^(tX)) = (1 - p + p e^t)^n

## Value

A `Binomial` object.

Other discrete distributions: `Bernoulli()`, `Categorical()`, `Geometric()`, `HyperGeometric()`, `Multinomial()`, `NegativeBinomial()`, `Poisson()`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```set.seed(27) X <- Binomial(10, 0.2) X mean(X) variance(X) skewness(X) kurtosis(X) random(X, 10) pdf(X, 2L) log_pdf(X, 2L) cdf(X, 4L) quantile(X, 0.7) cdf(X, quantile(X, 0.7)) quantile(X, cdf(X, 7)) ```