R: Normalize a range argument into a true numeric range

normalize_range_arg {photobiology} | R Documentation

## Normalize a range argument into a true numeric range

### Description

Several functions in this package and the suite accept a range argument with a flexible syntax. To ensure that all functions and methods behave in the same way this code has been factored out into a separate function.

### Usage

    normalize_range_arg(arg.range, wl.range, trim = TRUE)

### Arguments

`arg.range` | a numeric vector of length two, or any other object for which function range() will return a range of wavelengths (nm).
`wl.range` | a numeric vector of length two, or any other object for which function range() will return a range of wavelengths (nm), missing values are not allowed.
`trim` | logical If TRUE the range returned is bound within `wl.range` while if FALSE it can be broader.

### Details

The `arg.range` argument can contain NAs which are replaced by the value at the same position in `wl.range`. In addition a NULL argument for `range` is converted into `wl.range`. The `wl.range` is also the limit to which the returned value is trimmed if `trim == TRUE`. The idea is that the value supplied as `wl.range` is the wavelength range of the data.

### Value

a numeric vector of length two, guaranteed not to have missing values.

### Examples

    normalize_range_arg(c(NA, 500), range(sun.spct))
    normalize_range_arg(c(300, NA), range(sun.spct))
    normalize_range_arg(c(100, 5000), range(sun.spct), FALSE)
    normalize_range_arg(c(NA, NA), range(sun.spct))
    normalize_range_arg(c(NA, NA), sun.spct)

[Package photobiology version 0.9.21 Index]