createSimulation2: createSimulation2 update to createSimulation2() that allows...

View source: R/simulation2.R

createSimulation2R Documentation

createSimulation2 update to createSimulation2() that allows for rs-fMRI data generation.

Description

Changes: only an additional input with conditional if/else statements wherever an igraph object is generated. Will allow for user-supplied graph object as well, this functionality requires an igraph object specifically for now.

Usage

createSimulation2(
  num.samples = 100,
  num.variables = 100,
  pct.imbalance = 0.5,
  pct.signals = 0.1,
  main.bias = 0.4,
  interaction.bias = 0.4,
  hi.cor = 0.8,
  lo.cor = 0.2,
  label = "class",
  sim.type = "mainEffect",
  pct.train = 0.5,
  pct.holdout = 0.5,
  pct.validation = 0,
  save.file = NULL,
  mix.type = NULL,
  pct.mixed = 0.5,
  verbose = FALSE,
  plot.graph = FALSE,
  use.Rcpp = FALSE,
  prob.connected = NULL,
  out.degree = NULL,
  data.type = "continuous",
  avg.maf = 0.2,
  graph.structure = NULL
)

Arguments

num.samples

number of samples

num.variables

number of variables (features)

pct.imbalance

fraction of num.samples that are cases

pct.signals

fraction of num.variables that are functional

main.bias

approximate effect size for main effect simulations

interaction.bias

approximate effect size for interaction effects

hi.cor

parameter to use for network-connected pairwise correlations

lo.cor

parameter to use for network-non-connected pairwise correlations

label

should just be "class" for binary response

sim.type

a character that determines the type of simulation: mainEffect/mainEffect_Erdos-Renyi/mainEffect_Scalefree/interactionErdos/interactionScalefree/mixed

pct.train

fraction of num.samples used for training

pct.holdout

fraction of num.samples used for holdout

pct.validation

fraction of num.samples used for validation

save.file

logical but not currently being used

mix.type

character that determines the type of mixed effects simulation: main-interactionErdos/main-interactionScalefree

pct.mixed

percent of functional variables that are main effects (1 - pct_interaction). Use with sim.type="mixed" and specify mix.type.

verbose

logical indicating whether to display time required to generate simulation

plot.graph

logical indicating whether to plot networks

use.Rcpp

if true use Rcpp to correct negative eigenvalues

prob.connected

probability of drawing an edge between two arbitrary vertices in Erdos-Renyi graph

out.degree

out-degree of vertices in Scale-free graph

data.type

character indicating if data is from a "continuous" or "discrete" distribution

avg.maf

numeric in (0,1) indicating the desired average MAF for GWAS main effect simulations

graph.structure

(igraph) graph structure generated from igraph, NULL default

Details

New Parameter:

graph.structure - (igraph) graph structure generated from igraph. If NULL, then createSimulation2() typically generates one on its own. However, this will be handled by createfMRIsimulation() and the user will not be using createSimulation2() directly. This input is used to circumvent automatic simulation of graphs by the previous iteration of createSimulation2().

Value

A list with:

train

traing data set

holdout

holdout data set

validation

validation data set

label

the class label/column name

signal.names

the variable names with simulated signals

elapsed

total elapsed time

A.mat

adjacency matrix for random network (for interaction/mixed/main plus correlation)

main.vars

indices of main effect variables (for mixed simulations)

int.vars

indices of interaction effect variables (for mixed simulations)

Examples


# main effects with correlation from Erdos-Renyi network (continuous)

num.samples <- 100
num.variables <- 10

dataset <- createSimulation2(
  num.samples = num.samples,
  num.variables = num.variables,
  pct.imbalance = 0.5,
  pct.signals = 0.2,
  main.bias = 0.4,
  interaction.bias = 1,
  hi.cor = 0.8,
  lo.cor = 0.2,
  mix.type = "main-interactionErdos",
  label = "class",
  sim.type = "mainEffect_Erdos-Renyi",
  pct.mixed = 0.5,
  pct.train = 0.5,
  pct.holdout = 0.5,
  pct.validation = 0,
  plot.graph = FALSE,
  verbose = TRUE,
  data.type = "continuous"
)

# main effects with correlation from Erdos-Renyi network

num.samples <- 100
num.variables <- 10

dataset <- createSimulation2(
  num.samples = num.samples,
  num.variables = num.variables,
  pct.imbalance = 0.5,
  pct.signals = 0.2,
  main.bias = 0.4,
  interaction.bias = 1,
  hi.cor = 0.8,
  lo.cor = 0.2,
  mix.type = "main-interactionErdos",
  label = "class",
  sim.type = "mainEffect_Erdos-Renyi",
  pct.mixed = 0.5,
  pct.train = 0.5,
  pct.holdout = 0.5,
  pct.validation = 0,
  plot.graph = FALSE,
  verbose = TRUE,
  data.type = "discrete"
)

insilico/npdr documentation built on July 6, 2023, 1:14 p.m.