# Beta

0th

Percentile

##### The Beta Distribution

Density, distribution function, quantile function and random generation for the Beta distribution with parameters shape1 and shape2 (and optional non-centrality parameter ncp).

Keywords
distribution
##### Usage
dbeta(x, shape1, shape2, ncp = 0, log = FALSE)
pbeta(q, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)
qbeta(p, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)
rbeta(n, shape1, shape2, ncp = 0)
##### 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.

shape1, shape2

non-negative parameters of the Beta distribution.

ncp

non-centrality parameter.

log, log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are $P[X \le x]$, otherwise, $P[X > x]$.

##### Details

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

The mean is $a/(a+b)$ and the variance is $ab/((a+b)^2 (a+b+1))$. These moments and all distributional properties can be defined as limits (leading to point masses at 0, 1/2, or 1) when $a$ or $b$ are zero or infinite, and the corresponding [dpqr]beta() functions are defined correspondingly.

pbeta is closely related to the incomplete beta function. As defined by Abramowitz and Stegun 6.6.1 $$B_x(a,b) = \int_0^x t^{a-1} (1-t)^{b-1} dt,$$ and 6.6.2 $I_x(a,b) = B_x(a,b) / B(a,b)$ where $B(a,b) = B_1(a,b)$ is the Beta function (beta).

$I_x(a,b)$ is pbeta(x, a, b).

The noncentral Beta distribution (with ncp $= \lambda$) 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}$.

##### Value

dbeta gives the density, pbeta the distribution function, qbeta the quantile function, and rbeta generates random deviates.

Invalid arguments will result in return value NaN, with a warning.

The length of the result is determined by n for rbeta, and is the maximum of the lengths of the numerical arguments for the other functions.

The numerical arguments other than n are recycled to the length of the result. Only the first elements of the logical arguments are used.

##### Note

Supplying ncp = 0 uses the algorithm for the non-central distribution, which is not the same algorithm used if ncp is omitted. This is to give consistent behaviour in extreme cases with values of ncp very near zero.

##### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Abramowitz, M. and Stegun, I. A. (1972) Handbook of Mathematical Functions. New York: Dover. Chapter 6: Gamma and Related Functions.

Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, volume 2, especially chapter 25. Wiley, New York.

##### See Also

Distributions for other standard distributions.

beta for the Beta function.

• Beta
• dbeta
• pbeta
• qbeta
• rbeta
##### Examples
library(stats) # NOT RUN { x <- seq(0, 1, length = 21) dbeta(x, 1, 1) pbeta(x, 1, 1) ## Visualization, including limit cases: pl.beta <- function(a,b, asp = if(isLim) 1, ylim = if(isLim) c(0,1.1)) { if(isLim <- a == 0 || b == 0 || a == Inf || b == Inf) { eps <- 1e-10 x <- c(0, eps, (1:7)/16, 1/2+c(-eps,0,eps), (9:15)/16, 1-eps, 1) } else { x <- seq(0, 1, length = 1025) } fx <- cbind(dbeta(x, a,b), pbeta(x, a,b), qbeta(x, a,b)) f <- fx; f[fx == Inf] <- 1e100 matplot(x, f, ylab="", type="l", ylim=ylim, asp=asp, main = sprintf("[dpq]beta(x, a=%g, b=%g)", a,b)) abline(0,1, col="gray", lty=3) abline(h = 0:1, col="gray", lty=3) legend("top", paste0(c("d","p","q"), "beta(x, a,b)"), col=1:3, lty=1:3, bty = "n") invisible(cbind(x, fx)) } pl.beta(3,1) pl.beta(2, 4) pl.beta(3, 7) pl.beta(3, 7, asp=1) pl.beta(0, 0) ## point masses at {0, 1} pl.beta(0, 2) ## point mass at 0 ; the same as pl.beta(1, Inf) pl.beta(Inf, 2) ## point mass at 1 ; the same as pl.beta(3, 0) pl.beta(Inf, Inf)# point mass at 1/2 # } 
Documentation reproduced from package stats, version 3.6.0, License: Part of R 3.6.0

### Community examples

Looks like there are no examples yet.