rtmvnorm  R Documentation 
Draws from truncated multivariate normal distribution subject to linear inequality constraints represented by a matrix.
rtmvnorm( mean, sigma, blc = NULL, lower, upper, init = NULL, burn = 10, n = NULL )
mean 

sigma 

blc 

lower 

upper 

init 

burn 
number of burnin iterations. Defaults to 10. 
n 
number of random samples when 
Returns an n x p
matrix of random numbers following the
specified truncated multivariate normal distribution.
# Example 1: full rank blc d = 3; rho = 0.9; sigma = matrix(0, d, d); sigma = rho^abs(row(sigma)  col(sigma)); blc = diag(1,d); n = 1000; mean = matrix(rep(1:d,n), nrow=n, ncol=d, byrow=TRUE); set.seed(1203) result = rtmvnorm(mean, sigma, blc, 1, 1, burn=50) apply(result, 2, summary) # Example 2: use the alternative form of input set.seed(1203) result = rtmvnorm(mean=1:d, sigma, blc, 1, 1, burn=50, n=1000) apply(result, 2, summary) # Example 3: nonfull rank blc d = 3; rho = 0.5; sigma = matrix(0, d, d); sigma = rho^abs(row(sigma)  col(sigma)); blc = matrix(c(1,1,1,0,1,0,1,0,1), ncol=d); n = 100; mean = matrix(rep(1:d,n), nrow=n, ncol=d, byrow=TRUE); set.seed(1228) result = rtmvnorm(mean, sigma, blc, 1, 1, burn=10) apply(result, 2, summary) # Example 4: nonfull rank blc, alternative form of input set.seed(1228) result = rtmvnorm(mean=1:d, sigma, blc, 1, 1, burn=10, n=100) apply(result, 2, summary) # Example 5: means, lower, or upper bounds differ across samples d = 3; rho = 0.5; sigma = matrix(0, d, d); sigma = rho^abs(row(sigma)  col(sigma)); blc = matrix(c(1,0,1,1,1,0), ncol=d, byrow=TRUE) n = 100; set.seed(3084) mean = matrix(runif(n*d), nrow=n, ncol=d); result = rtmvnorm(mean, sigma, blc, 1, 1, burn=50) apply(result, 2, summary)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.