Generate from or evaluate multivariate normal or t densities.
Generates multivariate normal or t random deviates, and evaluates the corresponding log densities.
rmvn(n,mu,V) r.mvt(n,mu,V,df) dmvn(x,mu,V,R=NULL) d.mvt(x,mu,V,df,R=NULL)
n |
number of simulated vectors required. |
mu |
the mean of the vectors: either a single vector of length |
V |
A positive semi definite covariance matrix. |
df |
The degrees of freedom for a t distribution. |
x |
A vector or matrix to evaluate the log density of. |
R |
An optional Cholesky factor of V (not pivoted). |
Uses a ‘square root’ of V
to transform standard normal deviates to multivariate normal with the correct covariance matrix.
An n
row matrix, with each row being a draw from a multivariate normal or t density with covariance matrix V
and mean vector mu
. Alternatively each row may have a different mean vector if mu
is a vector.
For density functions, a vector of log densities.
Simon N. Wood simon.wood@r-project.org
library(mgcv) V <- matrix(c(2,1,1,2),2,2) mu <- c(1,3) n <- 1000 z <- rmvn(n,mu,V) crossprod(sweep(z,2,colMeans(z)))/n ## observed covariance matrix colMeans(z) ## observed mu dmvn(z,mu,V)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.