Learn R Programming

photobiology (version 0.11.4)

wls_at_target: Find wavelengths values corresponding to a target spectral value

Description

Find wavelength values corresponding to a target spectral value in a spectrum. The name of the column of the spectral data to be used is inferred from the class of x and the argument passed to unit.out or filter.qty or their defaults that depend on R options set.

Usage

wls_at_target(
  x,
  target = NULL,
  interpolate = FALSE,
  idfactor = length(target) > 1,
  na.rm = FALSE,
  ...
)

# S3 method for default wls_at_target( x, target = NULL, interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ... )

# S3 method for data.frame wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, x.var.name = NULL, y.var.name = NULL, ... )

# S3 method for generic_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, col.name = NULL, y.var.name = col.name, ... )

# S3 method for source_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, unit.out = getOption("photobiology.radiation.unit", default = "energy"), ... )

# S3 method for response_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, unit.out = getOption("photobiology.radiation.unit", default = "energy"), ... )

# S3 method for filter_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, filter.qty = getOption("photobiology.filter.qty", default = "transmittance"), ... )

# S3 method for reflector_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ... )

# S3 method for solute_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ... )

# S3 method for cps_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ... )

# S3 method for raw_spct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ... )

# S3 method for generic_mspct wls_at_target( x, target = "0.5max", interpolate = FALSE, idfactor = length(target) > 1, na.rm = FALSE, ..., .parallel = FALSE, .paropts = NULL )

Value

A data.frame, a spectrum object or a collection of spectra object of the same class as x with fewer rows, possibly even no rows. If

FALSE is passed to interpolate a subset of x is returned, otherwise a new object of the same class containing interpolated wavelengths for the target value is returned. As `target` accepts a vector or list as argument, a factor can be added to the output with the corresponding target value.

Arguments

x

data.frame or spectrum object.

target

numeric or character vector. A numeric value indicates the spectral quantity value for which wavelengths are to be searched. A character string representing a number is converted to numeric. A character value representing a number followed by a function name, will be also accepted and decoded, such that "0.1max" is interpreted as targeting one tenth of the maximum value in the column. The character strings "half.maximum" and "HM" are synonyms for "0.5max" while "half.range" and "HR" are synonyms for "0.5range".

interpolate

logical Indicating whether the nearest wavelength value in x should be returned or a value calculated by linear interpolation between wavelength values straddling the target.

idfactor

logical or character Generates an index column of factor type. If idfactor = TRUE then the column is auto named target.idx. Alternatively the column name can be directly passed as argument to idfactor as a character string.

na.rm

logical indicating whether NA values should be stripped before searching for the target.

...

currently ignored.

x.var.name, y.var.name, col.name

character The name of the columns in which to search for the target value. Use of col.name is deprecated, and is a synonym for y.var.name.

unit.out

character One of "energy" or "photon"

filter.qty

character One of "transmittance" or "absorbance"

.parallel

if TRUE, apply function in parallel, using parallel backend provided by foreach

.paropts

a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .export and .packages arguments to supply them so that all cluster nodes have the correct environment set up for computing.

Methods (by class)

  • wls_at_target(default): Default returning always an empty object of the same class as x.

  • wls_at_target(data.frame): Method for "data.frame" objects.

  • wls_at_target(generic_spct): Method for "generic_spct" objects.

  • wls_at_target(source_spct): Method for "source_spct" objects.

  • wls_at_target(response_spct): Method for "response_spct" objects.

  • wls_at_target(filter_spct): Method for "filter_spct" objects.

  • wls_at_target(reflector_spct): Method for "reflector_spct" objects.

  • wls_at_target(solute_spct): Method for "solute_spct" objects.

  • wls_at_target(cps_spct): Method for "cps_spct" objects.

  • wls_at_target(raw_spct): Method for "raw_spct" objects.

  • wls_at_target(generic_mspct): Method for "generic_mspct" objects.

See Also

Other peaks and valleys functions: find_peaks(), find_spikes(), get_peaks(), peaks(), replace_bad_pixs(), spikes(), valleys()

Examples

Run this code
wls_at_target(sun.spct, target = 0.1)
wls_at_target(sun.spct, target = 2e-6, unit.out = "photon")
wls_at_target(polyester.spct, target = "HM")
wls_at_target(polyester.spct, target = "HM", interpolate = TRUE)
wls_at_target(polyester.spct, target = "HM", idfactor = "target")
wls_at_target(polyester.spct, target = "HM", filter.qty = "absorbance")

Run the code above in your browser using DataLab