# Binom-class: Class "Binom" In distr: Object Oriented Implementation of Distributions

## Description

The binomial distribution with `size` = n, by default =1, and `prob` = p, by default =0.5, has density

p(x) = choose(n,x) p^x (1-p)^(n-x)

for x = 0, …, n.

C.f.`rbinom`

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

## Author(s)

Thomas Stabla [email protected],
Florian Camphausen [email protected],
Peter Ruckdeschel [email protected],
Matthias Kohl [email protected]

`BinomParameter-class` `DiscreteDistribution-class` `Naturals-class` `rbinom`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```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 ```