Learn R Programming

VGAM (version 0.9-2)

Betanorm: The Beta-Normal Distribution

Description

Density, distribution function, quantile function and random generation for the univariate beta-normal distribution.

Usage

dbetanorm(x, shape1, shape2, mean = 0, sd = 1, log = FALSE)
pbetanorm(q, shape1, shape2, mean = 0, sd = 1,
          lower.tail = TRUE, log.p = FALSE)
qbetanorm(p, shape1, shape2, mean = 0, sd = 1)
rbetanorm(n, shape1, shape2, mean = 0, sd = 1)

Arguments

x, q
vector of quantiles.
p
vector of probabilities.
n
number of observations. Same as runif.
shape1, shape2
the two (positive) shape parameters of the standard beta distribution. They are called a and b respectively in beta.
mean, sd
the mean and standard deviation of the univariate normal distribution (Normal).
log, log.p
Logical. If TRUE then all probabilities p are given as log(p).
lower.tail
Logical. If TRUE then the upper tail is returned, i.e., one minus the usual answer.

Value

  • dbetanorm gives the density, pbetanorm gives the distribution function, qbetanorm gives the quantile function, and rbetanorm generates random deviates.

Details

The function betauninormal, the VGAM family function for estimating the parameters, has not yet been written.

References

pp.146--152 of Gupta, A. K. and Nadarajah, S. (2004) Handbook of Beta Distribution and Its Applications, New York: Marcel Dekker.

Examples

Run this code
shape1 <- 0.1; shape2 <- 4; m <- 1
x <- seq(-10, 2, len = 501)
plot(x, dbetanorm(x, shape1, shape2, m = m), type = "l", ylim = 0:1, las = 1,
     ylab = paste("betanorm(",shape1,", ",shape2,", m=",m, ", sd=1)", sep = ""),
     main = "Blue is density, orange is cumulative distribution function",
     sub = "Purple lines are the 10,20,...,90 percentiles", col = "blue")
lines(x, pbetanorm(x, shape1, shape2, m = m), col = "orange")
abline(h = 0)
probs <- seq(0.1, 0.9, by = 0.1)
Q <- qbetanorm(probs, shape1, shape2, m = m)
lines(Q, dbetanorm(Q, shape1, shape2, m = m), col = "purple", lty = 3, type = "h")
lines(Q, pbetanorm(Q, shape1, shape2, m = m), col = "purple", lty = 3, type = "h")
abline(h = probs, col = "purple", lty = 3)
pbetanorm(Q, shape1, shape2, m = m) - probs  # Should be all 0

Run the code above in your browser using DataLab