"sim.sagat.data" <- function (N = 1000, P=N, mu, Var, cov.pattern=list(c(1,round(.05*N))), cov.const) { Sigma <- matrix(0, N, N) for(i in 1:length(cov.pattern)) { Sigma[cov.pattern[[i]][1]:cov.pattern[[i]][2], cov.pattern[[i]][1]:cov.pattern[[i]][2]] <- cov.const[i] } diag(Sigma) <- Var eigen <- eigen(Sigma) eigen$values[eigen$values <= 0] <- .05 Sigma <- eigen$vectors %*% diag(eigen$values) %*% t(eigen$vectors) compendium <- t(mvrnorm(n = P, mu = mu, Sigma = Sigma)) return(compendium) }