simulate_increasing: Simulate increasing trends

View source: R/simulation.R View source: R/original/Additional file 2.R

simulate_increasingR Documentation

Simulate increasing trends

Description

Simulates increasing trends by mixing two sigmoid curve families. Sigmoid parameters are sampled from uniform distributions with boundaries provided as input to this function. Function: y = 1 - (1 + exp((x-a)/b))**(-1).

Usage

simulate_increasing(n, n.samples, par1, par2 = NULL, p = 0.5)

Arguments

n

Number of trends to generate.

n.samples

Number of timepoints within each trend.

par1

Parameter vector (a_min, a_max, b_min, b_max) for first set of trends

par2

Optional parameter vector (a_min, a_max, b_min, b_max) for second set of trends

p

Proportion of trends to generate using par1 vs. par2. Note, p is ignored if par2 is not specified.

Value

A dataframe with each row representing a metabolite concentration time-course scaled between 0 and 1. The corresponding x variables are assumed to be equally spaced between 0 and 1 i.e. x <- seq(0, 1, length.out=n.samples).

Examples

par1 <- c(0.045, 0.055, 0.2, 0.4)
par2 <- c(0.945, 0.955, 0.1, 0.3)
trends <- simulate_increasing(1000, 100, par1, par2, 0.15)

# Conversion for plotting
y_mat <- t(as.matrix(trends))
x <- seq(0, 1, length.out=100)
matplot(x, y_mat, type = 'l', lty = 1, lwd = 4, col = grey(0, 0.05),
        xlab = 'Relative culturing time', ylab = 'Relative concentration')

ssokolen/metcourse documentation built on Nov. 3, 2024, 11:22 p.m.