draw.d.variate.t {MultiRNG} | R Documentation |
Pseudo-Random Number Generation under Multivariate t Distribution
Description
This function implements pseudo-random number generation for a multivariate t
distribution with pdf
f(x|\mu, \Sigma, \nu)=c\left(1+\frac{1}{\nu}(x-\mu)^{T}\Sigma^{-1}(x-\mu)\right)^{-(\nu+d)/2}
for -\infty < x < \infty
and c=\frac{\Gamma((\nu+d)/2)}{\Gamma(\nu/2)(\nu\pi)^{d/2}}|\Sigma|^{-1/2}
, \Sigma
is symmetric and positive definite, \nu>0
, where \mu
, \Sigma
, and \nu
are the mean vector, the variance-covariance matrix, and the degrees of freedom, respectively.
Usage
draw.d.variate.t(dof,no.row,d,mean.vec,cov.mat)
Arguments
dof |
Degrees of freedom. |
no.row |
Number of rows to generate. |
d |
Number of variables to generate. |
mean.vec |
Vector of means. |
cov.mat |
Variance-covariance matrix. |
Value
A no.row \times d
matrix of generated data.
Examples
cmat<-matrix(c(1,0.2,0.3,0.2,1,0.2,0.3,0.2,1), nrow=3, ncol=3)
meanvec=c(0,3,7)
mydata=draw.d.variate.t(dof=5,no.row=1e5,d=3,mean.vec=meanvec,cov.mat=cmat)
apply(mydata,2,mean)-meanvec
cor(mydata)-cmat
[Package MultiRNG version 1.2.4 Index]