Learn R Programming

Cardinal (version 1.4.0)

generateSpectrum: Generate a Simulated Spectrum

Description

Generates a simulated spectral signal, or multiple such signals, with peaks of specified intensities.

Usage

generateSpectrum(n, peaks = 100, range = c(1001, 20000), centers = seq( from = range[1] + diff(range) / (peaks + 1), to = range[2] - diff(range) / (peaks + 1), length.out = peaks), intensities = runif(peaks, min=0.1, max=1), step = diff(range)/1e3, resolution = 500, noise = 0.05, sd = 0.1, baseline = 2000, auc = TRUE)

Arguments

n
The number of signals to simulate.
peaks
The number of peaks in the signal.
range
A pair of numbers specifying the range of continues feature values at which the signal is measured.
centers
The values of the singal feature at which peaks occur.
intensities
The values of the intensities of the peaks, which could either be heights of the peaks or their area under the curve.
step
The step size between measurements in the feature space.
resolution
The instrument resolution. This affects the width of the peaks. Higher resolutions produce sharper peaks.
noise
A value without scale that indicates the amount of noise in the signal.
sd
Standard deviation of the intensities of the peaks.
baseline
A value without scale that indicates the shape and size of the baseline.
auc
Should the peak heights be influenced by the area under the curve? This reflects fragmentation and limited accuracy at higher mass ranges. If 'FALSE' then the peak heights correspond directly to the provided intensities.

Value

A list with elements:
  • x: numeric, a numeric vector of signal intensities
  • t: numeric, a numeric vector of signal features

See Also

generateImage

Examples

Run this code
s <- generateSpectrum(1)
plot(x ~ t, type="l", data=s)

s <- generateSpectrum(1, centers=c(2000,3000), resolution=10, baseline=3000)
plot(x ~ t, type="l", data=s)

s <- generateSpectrum(1, peaks=2, auc=FALSE, baseline=0)
plot(x ~ t, type="l", data=s)

Run the code above in your browser using DataLab