Generates genotypes data matrix G (sample_size by p), vector of environmental measurments E, and an outcome vector Y of size sample_size. Simulates training, validation, and test datasets.
data.gen(sample_size = 100, p = 20, n_g_non_zero = 15, n_gxe_non_zero = 10,
family = "gaussian", mode = "strong_hierarchical",
normalize = FALSE, normalize_response = FALSE,
seed = 1, pG = 0.2, pE = 0.3,
n_confounders = NULL)sample size of the data
total number of main effects
number of non-zero main effects to generate
number of non-zero interaction effects to generate
"gaussian" for continous outcome Y and "binomial" for binary 0/1 outcome
either "strong_hierarchical", "hierarchical", or "anti_hierarchical". In the strong hierarchical mode the hierarchical structure is maintained (beta_g = 0 then beta_gxe = 0) and also |beta_g| >= |beta_gxe|. In the hierarchical mode the hierarchical structure is maintained, but |beta_G| < |beta_gxe|. In the anti_hierarchical mode the hierarchical structure is violated (beta_g = 0 then beta_gxe != 0).
TRUE to normalize matrix G and vector E
TRUE to normalize vector Y
genotypes prevalence, value from 0 to 1
environment prevalence, value from 0 to 1
random seed
number of confounders to generate, either NULL or >1
A list of simulated datasets and generating coefficients
generated genotypes matrices
generated vectors of environmental values
generated outcome vectors
generated confounders matrices
generated GxE matrix
main effect coefficients vector
interaction coefficients vector
intercept coefficient value
environment coefficient value
confounders coefficient values
inner data generation variables
number of non-zero main effects generated
number of non-zero interactions generated
total number of non-zero variables
signal-to-noise ratio for the main effects
signal-to-noise ratio for the interactions
input simulation parameters
# NOT RUN {
data = data.gen(sample_size=100, p=100)
G = data$G_train; GxE = data$GxE_train
E = data$E_train; Y = data$Y_train
# }
Run the code above in your browser using DataLab