Learn R Programming

VGAM (version 1.0-3)

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,
          lower.tail = TRUE, log.p = FALSE)
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
# NOT RUN {
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 = "Gray lines are the 10,20,...,90 percentiles", col = "blue")
lines(x, pbetanorm(x, shape1, shape2, m = m), col = "orange")
abline(h = 0, col = "black")
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 = "gray50", lty = 2, type = "h")
lines(Q, pbetanorm(Q, shape1, shape2, m = m), col = "gray50", lty = 2, type = "h")
abline(h = probs, col = "gray50", lty = 2)
pbetanorm(Q, shape1, shape2, m = m) - probs  # Should be all 0
# }

Run the code above in your browser using DataLab