## load library
library("MALDIquant");
## create a reference MassPeaks object
r <- createMassPeaks(mass=1:5, intensity=1:5);
## create test samples
p <- list(createMassPeaks(mass=((1:5)*1.01), intensity=1:5),
createMassPeaks(mass=((1:5)*0.99), intensity=1:5));
## create a simple (in other cases useless ) warping function
simpleWarp <- function(x, d, ...) { return(function(x){return(d)}); }
## create an interactive device with 2 rows
par(mfrow=c(2, 1));
## calculate warping function (using simpleWarp as basic warping function)
## and show warping plot
w <- determineWarpingFunctions(p, tolerance=0.02, warpingFunction=simpleWarp,
plot=TRUE, plotInteractive=TRUE);
par(mfrow=c(1, 1));
## w contains the individual warping functions
warpedPeaks <- warpMassPeaks(p, w);
## compare results
all(mass(r) == mass(warpedPeaks[[1]])); # TRUE
all(mass(r) == mass(warpedPeaks[[2]])); # TRUE
## realistic example
data(peaks);
## create an interactive device with 2 rows
par(mfrow=c(2, 1));
## calculate warping functions (using lowess based basic function [default])
w <- determineWarpingFunctions(peaks, plot=TRUE, plotInteractive=TRUE);
par(mfrow=c(1, 1));Run the code above in your browser using DataLab