These functions provide the density function and a random number
generator for the conditional multivariate normal
distribution, [Y given X], where Z = (X,Y) is the fully-joint multivariate normal distribution with mean equal to `mean`

and covariance matrix
`sigma`

.

1 2 3 4 5 |

`x` |
vector or matrix of quantiles of Y. If |

`n` |
number of random deviates. |

`mean` |
mean vector, which must be specified. |

`sigma` |
a symmetric, positive-definte matrix of dimension n x n, which must be specified. |

`dependent.ind` |
a vector of integers denoting the indices of dependent variable Y. |

`given.ind` |
a vector of integers denoting the indices of conditoning variable X. |

`X.given` |
a vector of reals denoting the conditioning value of X. When both |

`check.sigma` |
logical; if |

`log` |
logical; if |

`method` |
string specifying the matrix decomposition used to
determine the matrix root of |

`pcmvnorm`

, `pmvnorm`

, `dmvnorm`

, `qmvnorm`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ```
# 10-dimensional multivariate normal distribution
n <- 10
A <- matrix(rnorm(n^2), n, n)
A <- A %*% t(A)
# density of Z[c(2,5)] given Z[c(1,4,7,9)]=c(1,1,0,-1)
dcmvnorm(x=c(1.2,-1), mean=rep(1,n), sigma=A,
dependent.ind=c(2,5), given.ind=c(1,4,7,9),
X.given=c(1,1,0,-1))
dcmvnorm(x=-1, mean=rep(1,n), sigma=A, dep=3, given=c(1,4,7,9,10), X=c(1,1,0,0,-1))
dcmvnorm(x=c(1.2,-1), mean=rep(1,n), sigma=A, dep=c(2,5))
# gives an error since `x' and `dep' are incompatibe
#dcmvnorm(x=-1, mean=rep(1,n), sigma=A, dep=c(2,3),
# given=c(1,4,7,9,10), X=c(1,1,0,0,-1))
rcmvnorm(n=10, mean=rep(1,n), sigma=A, dep=c(2,5),
given=c(1,4,7,9,10), X=c(1,1,0,0,-1),
method="eigen")
rcmvnorm(n=10, mean=rep(1,n), sigma=A, dep=3,
given=c(1,4,7,9,10), X=c(1,1,0,0,-1),
method="chol")
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.