Skip to contents

Creates a portfolio of multiple synthetic studies by resampling from source data. Each study is generated using ResampleStudy with configurable parameters.

Usage

SimulatePortfolio(lRaw, dfConfig = NULL, nStudies = 5, seed = NULL)

Arguments

lRaw

list. Named list of raw data domains (must include Raw_SUBJ).

dfConfig

data.frame. Optional configuration for each study. Must contain columns 'studyid' and 'nSubjects'. See Details.

nStudies

numeric. Number of studies to generate if dfConfig is NULL. Default: 5.

seed

numeric. Random seed for reproducibility. Default: NULL.

Value

list. Combined portfolio with same structure as lRaw, containing data from all simulated studies row-bound together.

Details

If dfConfig is provided, it should contain:

  • studyid: Unique study identifier

  • nSubjects: Number of subjects per study

  • TargetSiteCount: (Optional) Target number of sites

  • strOversamplDomain: (Optional) Domain for stratified sampling

  • vOversamplQuantileRange_min/max: (Optional) Quantile range for stratification

  • replacement: (Optional) Sample with replacement (default TRUE)

If dfConfig is NULL, generates default configuration with random parameters.

Examples

# Simple portfolio with default parameters
lRaw <- list(
  Raw_SUBJ = clindata::rawplus_dm,
  Raw_AE = clindata::rawplus_ae,
  Raw_SITE = clindata::ctms_site
)

lPortfolio <- SimulatePortfolio(lRaw, nStudies = 3, seed = 123)

# Custom configuration
dfConfig <- data.frame(
  studyid = c("TRIAL001", "TRIAL002"),
  nSubjects = c(50, 75),
  TargetSiteCount = c(15, 20)
)
lPortfolio_custom <- SimulatePortfolio(lRaw, dfConfig = dfConfig, seed = 456)