Creates a random wishart distribution when given degrees of freedom and a sigma matrix.
rwishart(df, S)
An integer
, which gives the degrees of freedom of the Wishart.
(> 0)
A matrix
with dimensions m x m that provides Sigma, the
covariance matrix.
A matrix
that is a Wishart distribution, aka the sample covariance
matrix of a Multivariate Normal Distribution
# Call with the following data:
rwishart(3, diag(2))
#> [,1] [,2]
#> [1,] 1.904024 1.152618
#> [2,] 1.152618 1.166918
# Validation
set.seed(1337)
S = toeplitz((10:1)/10)
n = 10000
o = array(dim = c(10,10,n))
for(i in 1:n){
o[,,i] = rwishart(20, S)
}
mR = apply(o, 1:2, mean)
Va = 20*(S^2 + tcrossprod(diag(S)))
vR = apply(o, 1:2, var)
stopifnot(all.equal(vR, Va, tolerance = 1/16))