# Beta-class

##### Class "Beta"

The Beta distribution with parameters `shape1`

\(= a\) and
`shape2`

\(= b\) has density
$$f(x)=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}{x}^{a-1} {(1-x)}^{b-1}%
$$
for \(a > 0\), \(b > 0\) and \(0 \le x \le 1\)
where the boundary values at \(x=0\) or \(x=1\) are defined as
by continuity (as limits).

- Keywords
- distribution

##### Note

The non-central Beta distribution is defined (Johnson et al, 1995,
pp. 502) as the distribution of \(X/(X+Y)\) where
\(X \sim \chi^2_{2a}(\lambda)\) and
\(Y \sim \chi^2_{2b}\).
C.f. `rbeta`

##### Ad hoc methods

For R Version `<2.3.0`

ad hoc methods are provided for slots `q`

, `r`

if `ncp!=0`

;
for R Version `>=2.3.0`

the methods from package stats are used.

##### Objects from the Class

Objects can be created by calls of the form `Beta(shape1, shape2)`

.
This object is a beta distribution.

##### Slots

`img`

Object of class

`"Reals"`

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

Object of class

`"BetaParameter"`

: the parameter of this distribution (shape1 and shape2), declared at its instantiation`r`

Object of class

`"function"`

: generates random numbers (calls function rbeta)`d`

Object of class

`"function"`

: density function (calls function dbeta)`p`

Object of class

`"function"`

: cumulative function (calls function pbeta)`q`

Object of class

`"function"`

: inverse of the cumulative function (calls function qbeta)`.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 `"AbscontDistribution"`

, directly.
Class `"UnivariateDistribution"`

, by class `"AbscontDistribution"`

.
Class `"Distribution"`

, by class `"AbscontDistribution"`

.

##### Methods

- initialize
`signature(.Object = "Beta")`

: initialize method- shape1
`signature(object = "Beta")`

: returns the slot shape1 of the parameter of the distribution- shape1<-
`signature(object = "Beta")`

: modifies the slot shape1 of the parameter of the distribution- shape2
`signature(object = "Beta")`

: returns the slot shape2 of the parameter of the distribution- shape2<-
`signature(object = "Beta")`

: modifies the slot shape2 of the parameter of the distribution`-`

`signature(e1 = "numeric", e2 = "Beta")`

if`ncp(e2)==0`

and`e1 == 1`

, an exact (central)`Beta(shape1 = shape2(e2), shape2 = shape1(e2))`

is returned, else the default method is used; exact

##### See Also

`BetaParameter-class`

`AbscontDistribution-class`

`Reals-class`

`rbeta`

##### Examples

```
# NOT RUN {
B <- Beta(shape1 = 1, shape2 = 1)
# B is a beta distribution with shape1 = 1 and shape2 = 1.
r(B)(1) # one random number generated from this distribution, e.g. 0.6979795
d(B)(1) # Density of this distribution is 1 for x=1.
p(B)(1) # Probability that x < 1 is 1.
q(B)(.1) # Probability that x < 0.1 is 0.1.
shape1(B) # shape1 of this distribution is 1.
shape1(B) <- 2 # shape1 of this distribution is now 2.
Bn <- Beta(shape1 = 1, shape2 = 3, ncp = 5)
# Bn is a beta distribution with shape1 = 1 and shape2 = 3 and ncp = 5.
B0 <- Bn; ncp(B0) <- 0;
# B0 is just the same beta distribution as Bn but with ncp = 0
q(B0)(0.1) ##
q(Bn)(0.1) ## => from R 2.3.0 on ncp no longer ignored...
## in RStudio or Jupyter IRKernel, use q.l(.)(.) instead of q(.)(.)
# }
```

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