Learn R Programming

hyperSpec (version 0.100.2)

merge,hyperSpec,hyperSpec-method: Merge hyperSpec objects

Description

Merges two hyperSpec objects and cbinds their spectra matrices, or merges additional extra data into a hyperSpec object.

Usage

# S4 method for hyperSpec,hyperSpec
merge(x, y, ...)

# S4 method for hyperSpec,data.frame merge(x, y, ...)

# S4 method for data.frame,hyperSpec merge(x, y, ...)

Arguments

x

a hyperSpec object or data.frame

y

a hyperSpec object or data.frame (including derived classes like tibble)

...

handed to merge.data.frame

Author

C. Beleites

Details

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.

See Also

merge.

collapse combines hyperSpec objects that do not share the wavelength axis. rbind, and cbind for combining hyperSpec objects that.

Examples

Run this code

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)

Run the code above in your browser using DataLab