Betabin {VGAM} R Documentation

## The Beta-Binomial Distribution

### Description

Density, distribution function, and random generation for the beta-binomial distribution.

### Usage

```dbetabin(x, size, prob, rho, log=FALSE)
pbetabin(q, size, prob, rho, log.p=FALSE)
rbetabin(n, size, prob, rho)
dbetabin.ab(x, size, shape1, shape2, log=FALSE)
pbetabin.ab(q, size, shape1, shape2, log.p=FALSE)
rbetabin.ab(n, size, shape1, shape2)
```

### Arguments

 `x, q` vector of quantiles. `size` number of trials. `n` number of observations. Must be a positive integer of length 1. `prob` the probability of success mu. Must be in the unit open interval (0,1). `rho` the correlation parameter rho. Must be in the unit open interval (0,1). `shape1, shape2` the two (positive) shape parameters of the standard beta distribution. They are called `a` and `b` in `beta` respectively. `log, log.p` Logical. If `TRUE` then all probabilities `p` are given as `log(p)`.

### Details

The beta-binomial distribution is a binomial distribution whose probability of success is not a constant but it is generated from a beta distribution with parameters `shape1` and `shape2`. Note that the mean of this beta distribution is `mu=shape1/(shape1+shape2)`, which therefore is the mean or the probability of success.

See `betabinomial` and `betabin.ab`, the VGAM family functions for estimating the parameters, for the formula of the probability density function and other details.

### Value

`dbetabin` and `dbetabin.ab` give the density, `pbetabin` and `pbetabin.ab` give the distribution function, and `rbetabin` and `rbetabin.ab` generate random deviates.

### Note

`pbetabin` and `pbetabin.ab` can be particularly slow. The functions here ending in `.ab` are called from those functions which don't. The simple transformations mu=alpha/(alpha+beta) and rho=1/(1+alpha+beta) are used, where alpha and beta are the two shape parameters.

### Author(s)

T. W. Yee

`betabinomial`, `betabin.ab`.

### Examples

```## Not run:
N = 9; x = 0:N; s1=2; s2=3
dy = dbetabin.ab(x, size=N, shape1=s1, shape2=s2)
barplot(rbind(dy, dbinom(x, size=N, prob=s1/(s1+s2))),
beside = TRUE, col = c("blue","green"), las=1,
main=paste("Beta-binomial (size=",N,", shape1=",s1,
", shape2=",s2,") (blue) vs\n",
" Binomial(size=", N, ", prob=", s1/(s1+s2), ") (green)", sep=""),
names.arg = as.character(x), cex.main=0.8)
sum(dy*x) # Check expected values are equal
sum(dbinom(x, size=N, prob=s1/(s1+s2))*x)
cumsum(dy) -  pbetabin.ab(x, N, shape1=s1, shape2=s2)

y = rbetabin.ab(n=10000, size=N, shape1=s1, shape2=s2)
ty = table(y)
barplot(rbind(dy, ty/sum(ty)),
beside = TRUE, col = c("blue","red"), las=1,
main=paste("Beta-binomial (size=",N,", shape1=",s1,
", shape2=",s2,") (blue) vs\n",
" Random generated beta-binomial(size=", N, ", prob=", s1/(s1+s2),
") (red)", sep=""), cex.main=0.8,
names.arg = as.character(x))
## End(Not run)
```

[Package VGAM version 0.7-9 Index]