#' Select spectra
#'
#' @inheritParams wavelengths
#' @inheritParams base::"["
#' @export
"[.spectra" <- function(spectra, i, j, drop = FALSE) {
if (missing(i)) {
i <- seq_len(nrow(spectra))
}
if (missing(j)) {
j <- seq_len(ncol(spectra))
}
wl <- wavelengths(spectra)
wl_sub <- wl[i]
values <- .subset(spectra, i = i, j = j, drop = drop)
spectra(values, wl_sub)
}
#' Select spectra by wavelength
#'
#' @inheritParams [.spectra
#' @param wavelength Wavelength vector to select
#' @export
"[[.spectra" <- function(spectra, wavelength, j) {
spec_wl <- wavelengths(spectra)
i <- which(spec_wl %in% wavelength)
spectra[i, j, drop = FALSE]
}
#' Assign values to spectra by wavelength
#'
#' @inheritParams [[.spectra
#' @param values Vector or matrix of values to assign
#' @export
"[[<-.spectra" <- function(spectra, wavelength, j, values) {
spec_wl <- wavelengths(spectra)
i <- which(spec_wl %in% wavelength)
spectra[i, j] <- values
spectra
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.