rwishart: Random Wishart matrix

Description Usage Arguments Details Value Warning Note Author(s) References Examples

View source: R/DLM.R

Description

Generate a draw from a Wishart distribution.

Usage

1
rwishart(df, p = nrow(SqrtSigma), Sigma, SqrtSigma = diag(p))

Arguments

df

degrees of freedom. It has to be integer.

p

dimension of the matrix to simulate.

Sigma

the matrix parameter Sigma of the Wishart distribution.

SqrtSigma

a square root of the matrix parameter Sigma of the Wishart distribution. Sigma must be equal to crossprod(SqrtSigma).

Details

The Wishart is a distribution on the set of nonnegative definite symmetric matrices. Its density is

p(W) = c|W|^((n-p-1)/2) / |Sigma|^(n/2) exp(-tr(Sigma^(-1)W)/2)

where n is the degrees of freedom parameter df and c is a normalizing constant. The mean of the Wishart distribution is n Sigma and the variance of an entry is

Var(W[i,j]) = n (Sigma[i,j]^2 + Sigma[i,i] Sigma[j,j])

The matrix parameter, which should be a positive definite symmetric matrix, can be specified via either the argument Sigma or SqrtSigma. If Sigma is specified, then SqrtSigma is ignored. No checks are made for symmetry and positive definiteness of Sigma.

Value

The function returns one draw from the Wishart distribution with df degrees of freedom and matrix parameter Sigma or crossprod(SqrtSigma)

Warning

The function only works for an integer number of degrees of freedom.

Note

From a suggestion by B.Venables, posted on S-news

Author(s)

Giovanni Petris [email protected]

References

Press (1982). Applied multivariate analysis.

Examples

1
2
3
4
5
rwishart(25, p = 3)
a <- matrix(rnorm(9), 3)
rwishart(30, SqrtSigma = a)
b <- crossprod(a)
rwishart(30, Sigma = b)

Example output

          [,1]      [,2]      [,3]
[1,] 33.745942 -1.688330  8.891044
[2,] -1.688330 44.917684  6.552515
[3,]  8.891044  6.552515 26.584689
          [,1]      [,2]      [,3]
[1,]  57.53135 -27.36463 -84.94352
[2,] -27.36463  22.39320  28.50087
[3,] -84.94352  28.50087 161.45867
          [,1]      [,2]      [,3]
[1,]  54.68665 -22.11895 -90.13139
[2,] -22.11895  20.95790  19.39360
[3,] -90.13139  19.39360 188.85810

dlm documentation built on June 14, 2018, 1:03 a.m.