Merge hyperSpec objects
Merges two hyperSpec objects and cbind
s their spectra
matrices, or merges additional extra data into a hyperSpec object.
## S4 method for signature 'hyperSpec,hyperSpec' merge(x, y, ...) ## S4 method for signature 'hyperSpec,data.frame' merge(x, y, ...) ## S4 method for signature 'data.frame,hyperSpec' merge(x, y, ...)
x |
a hyperSpec object or data.frame |
y |
a hyperSpec object or data.frame (including derived classes like tibble) |
... |
handed to |
After merging, the spectra matrix can contain duplicates, and is not ordered according to the wavelength.
If the wavelength axis should be ordered, use orderwl
.
If a hyperSpec
object and a data.frame
are merged, the result is of the class of the first (x
) object.
C. Beleites
merge (chondro [1:10,, 600], chondro [5:15,, 600], by = c("x", "y"))$. tmp <- merge (chondro [1:10,, 610], chondro [5:15,, 610], by = c("x", "y"), all = TRUE) tmp$. wl (tmp) ## remove duplicated wavelengths: approxfun <- function (y, wl, new.wl){ approx (wl, y, new.wl, method = "constant", ties = function (x) mean (x, na.rm = TRUE) )$y } merged <- merge (chondro [1:7,, 610 ~ 620], chondro [5:10,, 615 ~ 625], all = TRUE) merged$. merged <- apply (merged, 1, approxfun, wl = wl (merged), new.wl = unique (wl (merged)), new.wavelength = "new.wl") merged$. ## merging data.frame into hyperSpec object => hyperSpec object y <- data.frame (filename = sample (flu$filename, 4, replace = TRUE), cpred = 1:4) y tmp <- merge (flu, y) tmp$.. ## merging hyperSpec object into data.frame => data.frame merge (y, flu)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.