rmvn {mgcv} | R Documentation |
Generate from or evaluate multivariate normal or t densities.
Description
Generates multivariate normal or t random deviates, and evaluates the corresponding log densities.
Usage
rmvn(n,mu,V)
r.mvt(n,mu,V,df)
dmvn(x,mu,V,R=NULL)
d.mvt(x,mu,V,df,R=NULL)
Arguments
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). |
Details
Uses a ‘square root’ of V
to transform standard normal deviates to multivariate normal with the correct covariance matrix.
Value
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.
Author(s)
Simon N. Wood simon.wood@r-project.org
See Also
Examples
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)