Learn R Programming

nimble (version 1.2.1)

Multivariate-t: The Multivariate t Distribution

Description

Density and random generation for the multivariate t distribution, using the Cholesky factor of either the precision matrix (i.e., inverse scale matrix) or the scale matrix.

Usage

dmvt_chol(x, mu, cholesky, df, prec_param = TRUE, log = FALSE)

rmvt_chol(n = 1, mu, cholesky, df, prec_param = TRUE)

Value

dmvt_chol gives the density and rmvt_chol generates random deviates.

Arguments

x

vector of values.

mu

vector of values giving the location of the distribution.

cholesky

upper-triangular Cholesky factor of either the precision matrix (i.e., inverse scale matrix) (when prec_param is TRUE) or scale matrix (otherwise).

df

degrees of freedom.

prec_param

logical; if TRUE the Cholesky factor is that of the precision matrix; otherwise, of the scale matrix.

log

logical; if TRUE, probability density is returned on the log scale.

n

number of observations (only n=1 is handled currently).

Author

Peter Sujan

Details

See Gelman et al., Appendix A or the BUGS manual for mathematical details. The 'precision' matrix as used here is defined as the inverse of the scale matrix, \(\Sigma^{-1}\), given in Gelman et al.

References

Gelman, A., Carlin, J.B., Stern, H.S., and Rubin, D.B. (2004) Bayesian Data Analysis, 2nd ed. Chapman and Hall/CRC.

See Also

Distributions for other standard distributions

Examples

Run this code
mu <- c(-10, 0, 10)
scalemat <- matrix(c(1, .9, .3, .9, 1, -0.1, .3, -0.1, 1), 3)
ch <- chol(scalemat)
x <- rmvt_chol(1, mu, ch, df = 1, prec_param = FALSE)
dmvt_chol(x, mu, ch, df = 1, prec_param = FALSE)

Run the code above in your browser using DataLab