base::sweep()
for hyperSpec
objects.
# S4 method for hyperSpec sweep(x, MARGIN, STATS, FUN = "-", check.margin = TRUE, ...)
x | a |
---|---|
MARGIN | direction of the spectra matrix that |
STATS | the summary statistic to sweep out. Either a vector or a
hyperSpec offers a non-standard convenience function: if |
FUN | |
check.margin | If |
... | further arguments for |
A hyperSpec
object.
Calls base::sweep()
for the spectra matrix.
sweep()
is useful for some spectra pre-processing, like offset
correction, subtraction of background spectra, and normalization of the
spectra.
C. Beleites
## Subtract the background / slide / blank spectrum # the example data does not have spectra of the empty slide, # so instead the overall composition of the sample is subtracted background <- apply(faux_cell, 2, quantile, probs = 0.05) corrected <- sweep(faux_cell, 2, background, "-") plot(corrected, "spcprctl5")## Offset correction offsets <- apply(faux_cell, 1, min) corrected <- sweep(faux_cell, 1, offsets, "-") plot(corrected, "spcprctl5")## Min-max normalization (on max amide I) # the minimum is set to zero by the offset correction. factor <- apply(corrected, 1, max) mm.corrected <- sweep(corrected, 1, factor, "/") plot(mm.corrected, "spcprctl5")## convenience: give function to compute STATS: mm.corrected2 <- sweep(corrected, 1, max, "/") plot(mm.corrected2)