rWishart

0th

Percentile

Random Wishart Distributed Matrices

Generate n random matrices, distributed according to the Wishart distribution with parameters Sigma and df, $W_p(\Sigma, m),\ m=\code{df},\ \Sigma=\code{Sigma}$.

Keywords
multivariate
Usage
rWishart(n, df, Sigma)
Arguments
n
integer sample size.
df
numeric parameter, degrees of freedom.
Sigma
positive definite ($p\times p$) scale matrix, the matrix parameter of the distribution.
Details

If $X_1,\dots, X_m, \ X_i\in\mathbf{R}^p$ is a sample of $m$ independent multivariate Gaussians with mean (vector) 0, and covariance matrix $\Sigma$, the distribution of $M = X'X$ is $W_p(\Sigma, m)$.

Consequently, the expectation of $M$ is $$E[M] = m\times\Sigma.$$ Further, if Sigma is scalar ($p = 1$), the Wishart distribution is a scaled chi-squared ($\chi^2$) distribution with df degrees of freedom, $W_1(\sigma^2, m) = \sigma^2 \chi^2_m$.

The component wise variance is $$\mathrm{Var}(M_{ij}) = m(\Sigma_{ij}^2 + \Sigma_{ii} \Sigma_{jj}).$$

Value

  • a numeric array, say R, of dimension $p \times p \times n$, where each R[,,i] is a positive definite matrix, a realization of the Wishart distribution $W_p(\Sigma, m),\ \ m=\code{df},\ \Sigma=\code{Sigma}$.

References

Mardia, K. V., J. T. Kent, and J. M. Bibby (1979) Multivariate Analysis, London: Academic Press.

See Also

cov, rnorm, rchisq.

Aliases
  • rWishart
Examples
library(stats) ## Artificial S <- toeplitz((10:1)/10) set.seed(11) R <- rWishart(1000, 20, S) dim(R) # 10 10 1000 mR <- apply(R, 1:2, mean) # ~= E[ Wish(S, 20) ] = 20 * S stopifnot(all.equal(mR, 20*S, tolerance = .009)) ## See Details, the variance is Va <- 20*(S^2 + tcrossprod(diag(S))) vR <- apply(R, 1:2, var) stopifnot(all.equal(vR, Va, tolerance = 1/16))
Documentation reproduced from package stats, version 3.3, License: Part of R 3.3

Community examples

Looks like there are no examples yet.