wls_at_target {photobiology} | R Documentation |
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,
...
)
## Default S3 method:
wls_at_target(
x,
target = NULL,
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...
)
## S3 method for class '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 class '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 class '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 class '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 class '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 class 'reflector_spct'
wls_at_target(
x,
target = "0.5max",
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...
)
## S3 method for class 'solute_spct'
wls_at_target(
x,
target = "0.5max",
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...
)
## S3 method for class 'cps_spct'
wls_at_target(
x,
target = "0.5max",
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...
)
## S3 method for class 'raw_spct'
wls_at_target(
x,
target = "0.5max",
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...
)
## S3 method for class 'generic_mspct'
wls_at_target(
x,
target = "0.5max",
interpolate = FALSE,
idfactor = length(target) > 1,
na.rm = FALSE,
...,
.parallel = FALSE,
.paropts = NULL
)
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 |
interpolate |
logical Indicating whether the nearest wavelength value
in |
idfactor |
logical or character Generates an index column of factor
type. If |
na.rm |
logical indicating whether |
... |
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 |
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. |
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.
Methods (by class)
-
wls_at_target(default)
: Default returning always an empty object of the same class asx
. -
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.
Note
When interpolation is used, only column w.length
and the column
against which the target value was compared are included in the returned
object, otherwise, all columns in x
are returned. We implement
support for data.frame
to simplify the coding of 'ggplot2' stats
using this function.
See Also
Other peaks and valleys functions:
find_peaks()
,
find_spikes()
,
get_peaks()
,
peaks()
,
replace_bad_pixs()
,
spikes()
,
valleys()
Examples
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")