Learn R Programming

hyperSpec (version 0.98-20110927)

sweep: Sweep Summary Statistic out of an hyperSpec Object...

Description

Sweep Summary Statistic out of an hyperSpec Object sweep for hyperSpec objects.

Usage

## S3 method for class 'hyperSpec':
sweep(x, MARGIN, STATS, FUN="-", check.margin=TRUE, ..., short="sweep",
    user=NULL, date=NULL)

Arguments

x
a hyperSpec object.
MARGIN
direction of the spectra matrix that STATS goees along.
STATS
the summary statistic to sweep out. Either a vector or a hyperSpec object.

hyperSpec offers a non-standard convenience function: if STATS is a function, this function is applied first (with the same MARGIN) to compu

FUN
the function to do the sweeping, e.g. `-` or `/`.
check.margin
If TRUE (the default), warn if the length or dimensions of STATS do not match the specified dimensions of x. Set to FALSE for a small speed gain when you know that dimensions match.
...
further arguments for FUN
short,user,date
handed over to logentry.

Value

  • A hyperSpec object.

Details

Calls sweep for the spectra matrix.

sweep is useful for some spectra preprocessing, like offset correction, substraction of background spectra, and normalization of the spectra.

See Also

sweep

Examples

Run this code
## Substract 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 substracted
background <- apply (chondro, 2, quantile, probs = 0.05)
corrected <- sweep (chondro, 2, background, "-")
plot (corrected, "spcprctl5")

## Offset correction
offsets <- apply (chondro, 1, min)
corrected <- sweep (chondro, 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)

## checking
stopifnot (all (mm.corrected2 == mm.corrected))

Run the code above in your browser using DataLab