True beta values are generated from p*r independent draws from N(0, 1/p) distribution. X are n independent draws from p multivariate normal N(0, SigmaX). Y is then generated using X and true beta values with an iid error term that follows r multivariate normal distribution N(0, Sigma).

data_gen(n, p, r = 1, sparsity = 0.5, Sigma = c("tridiag", "dense",
"denseQR", "compound"), s = NULL, SigmaX = c("tridiag", "dense",
"denseQR", "compound"), sx = NULL, ...)

## Arguments

n desired sample size desired dimension number of responses desired sparsity for beta covariance matrix structure used to generate Y | X option to specify diagonal elements in Sigma covariance matrix structure used to generate data X option to specify diagonal elements in SigmaX additional arguments to pass to data generating functions

## Value

Y, X, betas, Sigma, SigmaX

## Examples

# generate 100 observations with predictor dimension equal to 10 and response dimension equal to 5
data = data_gen(n = 100, p = 10, r = 5)