# Binom-class

##### Class "Binom"

The binomial distribution with `size`

\(= n\), by default
\(=1\), and
`prob`

\(= p\), by default \(=0.5\), has density
$$p(x) = {n \choose x} {p}^{x} {(1-p)}^{n-x}$$
for \(x = 0, \ldots, n\).

C.f.`rbinom`

- Keywords
- distribution

##### Objects from the Class

Objects can be created by calls of the form `Binom(prob, size)`

.
This object is a binomial distribution.

##### Slots

`img`

Object of class

`"Naturals"`

: The space of the image of this distribution has got dimension 1 and the name "Natural Space".`param`

Object of class

`"BinomParameter"`

: the parameter of this distribution (`prob`

,`size`

), declared at its instantiation`r`

Object of class

`"function"`

: generates random numbers (calls function`rbinom`

)`d`

Object of class

`"function"`

: density function (calls function`dbinom`

)`p`

Object of class

`"function"`

: cumulative function (calls function`pbinom`

)`q`

Object of class

`"function"`

: inverse of the cumulative function (calls function`qbinom`

). The quantile is defined as the smallest value x such that F(x) >= p, where F is the cumulative function.`support`

Object of class

`"numeric"`

: a (sorted) vector containing the support of the discrete density function`.withArith`

logical: used internally to issue warnings as to interpretation of arithmetics

`.withSim`

logical: used internally to issue warnings as to accuracy

`.logExact`

logical: used internally to flag the case where there are explicit formulae for the log version of density, cdf, and quantile function

`.lowerExact`

logical: used internally to flag the case where there are explicit formulae for the lower tail version of cdf and quantile function

`Symmetry`

object of class

`"DistributionSymmetry"`

; used internally to avoid unnecessary calculations.

##### Extends

Class `"DiscreteDistribution"`

, directly.
Class `"UnivariateDistribution"`

, by class `"DiscreteDistribution"`

.
Class `"Distribution"`

, by class `"DiscreteDistribution"`

.

##### Methods

- +
`signature(e1 = "Binom", e2 = "Binom")`

: For two binomial distributions with equal probabilities the exact convolution formula is implemented thereby improving the general numerical accuracy.- initialize
`signature(.Object = "Binom")`

: initialize method- prob
`signature(object = "Binom")`

: returns the slot`prob`

of the parameter of the distribution- prob<-
`signature(object = "Binom")`

: modifies the slot`prob`

of the parameter of the distribution- size
`signature(object = "Binom")`

: returns the slot`size`

of the parameter of the distribution- size<-
`signature(object = "Binom")`

: modifies the slot`size`

of the parameter of the distribution

##### See Also

`BinomParameter-class`

`DiscreteDistribution-class`

`Naturals-class`

`rbinom`

##### Examples

```
# NOT RUN {
B <- Binom(prob=0.5,size=1) # B is a binomial distribution with prob=0.5 and size=1.
r(B)(1) # # one random number generated from this distribution, e.g. 1
d(B)(1) # Density of this distribution is 0.5 for x=1.
p(B)(0.4) # Probability that x<0.4 is 0.5.
q(B)(.1) # x=0 is the smallest value x such that p(B)(x)>=0.1.
## in RStudio or Jupyter IRKernel, use q.l(.)(.) instead of q(.)(.)
size(B) # size of this distribution is 1.
size(B) <- 2 # size of this distribution is now 2.
C <- Binom(prob = 0.5, size = 1) # C is a binomial distribution with prob=0.5 and size=1.
D <- Binom(prob = 0.6, size = 1) # D is a binomial distribution with prob=0.6 and size=1.
E <- B + C # E is a binomial distribution with prob=0.5 and size=3.
F <- B + D # F is an object of class LatticeDistribution.
G <- B + as(D,"DiscreteDistribution") ## DiscreteDistribution
# }
```

*Documentation reproduced from package distr, version 2.7.0, License: LGPL-3*