Special {base} | R Documentation |
Special mathematical functions related to the beta and gamma functions.
beta(a, b) lbeta(a, b) gamma(x) lgamma(x) digamma(x) trigamma(x) tetragamma(x) pentagamma(x) choose(n, k) lchoose(n, k)
a, b, x |
numeric vectors. |
n, k |
integer vectors. |
The functions beta
and lbeta
return the beta function
and the natural logarithm of the beta function,
B(a,b) = (Gamma(a)Gamma(b))/(Gamma(a+b)).
The functions gamma
and lgamma
return the gamma function
Γ(x) and the natural logarithm of the absolute value of the
gamma function.
The functions digamma
, trigamma
, tetragamma
and
pentagamma
return the first, second, third and fourth
derivatives of the logarithm of the gamma function.
digamma(x)
= psi(x) = d/dx {ln Gamma(x)} = Gamma'(x) / Gamma(x)
The functions choose
and lchoose
return binomial
coefficients and their logarithms.
Abramowitz, M. and Stegun, I. A. (1972) Handbook of Mathematical Functions. New York: Dover. Chapter 6: Gamma and Related Functions.
Arithmetic
for simple, sqrt
for
miscellaneous mathematical functions and Bessel
for the
real Bessel functions.
choose(5, 2) for (n in 0:10) print(choose(n, k = 0:n)) ## gamma has discontinuities are 0, -1, -2, ... ## use plots of points to show this. curve(gamma(x),-3,4, n=1001, ylim=c(-10,100), col="red", lwd=2, main="gamma(x)") abline(h=0,v=0, lty=3, col="midnightblue") x <- seq(.1, 4, length = 201); dx <- diff(x)[1] par(mfrow = c(2, 3)) for (ch in c("", "l","di","tri","tetra","penta")) { is.deriv <- nchar(ch) >= 2 if (is.deriv) dy <- diff(y) / dx nm <- paste(ch, "gamma", sep = "") y <- get(nm)(x) plot(x, y, type = "l", main = nm, col = "red") abline(h = 0, col = "lightgray") if (is.deriv) lines(x[-1], dy, col = "blue", lty = 2) }