Check that an R object contains the expected data members and within range values in them. For wavelengths also check if ordered and if unique or not.
Usage
check_spct(x, byref, strict.range, force = FALSE, ...)
# Default S3 method
check_spct(x, byref = FALSE, strict.range = NA, force = FALSE, ...)
# S3 method for class 'generic_spct'
check_spct(
x,
byref = TRUE,
strict.range = NA,
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'calibration_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'raw_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'cps_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'filter_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'solute_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'reflector_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'object_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'response_spct'
check_spct(
x,
byref = TRUE,
strict.range = NA,
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'source_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)
# S3 method for class 'chroma_spct'
check_spct(
x,
byref = TRUE,
strict.range = getOption("photobiology.strict.range", default = FALSE),
force = FALSE,
multiple.wl = getMultipleWl(x),
...
)Arguments
- x
An R object
- byref
logical indicating if new object will be created by reference or by copy of
x- strict.range
logical indicating whether off-range values result in an error instead of a warning, with
NAa message is issued on failure, and withNULLthe range test is skipped.- force
logical If
TRUEcheck is done even if checks are disabled.- ...
additional parameters possible in derived methods
- multiple.wl
numeric Maximum number of repeated w.length entries with same value. If
NULLskip check of ordering and multiple wavelengths.
Details
These methods are exported and can be called by user code if needed,
for example, when the checks have been disabled by setting an R option
with disable_check_spct.
See also
Other data validity check functions:
check_spectrum(),
check_w.length(),
enable_check_spct()
Examples
check_spct(sun.spct)
#> Object: source_spct [522 x 3]
#> Wavelength range 280-800 nm, step 0.9230769-1 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 522 × 3
#> w.length s.e.irrad s.q.irrad
#> <dbl> <dbl> <dbl>
#> 1 280 0 0
#> 2 281. 0 0
#> 3 282. 0 0
#> 4 283. 0 0
#> 5 284. 0 0
#> 6 285. 0 0
#> 7 286. 0 0
#> 8 286. 0 0
#> 9 287. 0 0
#> 10 288. 0 0
#> # ℹ 512 more rows
check_spct(sun.spct)
#> Object: source_spct [522 x 3]
#> Wavelength range 280-800 nm, step 0.9230769-1 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 522 × 3
#> w.length s.e.irrad s.q.irrad
#> <dbl> <dbl> <dbl>
#> 1 280 0 0
#> 2 281. 0 0
#> 3 282. 0 0
#> 4 283. 0 0
#> 5 284. 0 0
#> 6 285. 0 0
#> 7 286. 0 0
#> 8 286. 0 0
#> 9 287. 0 0
#> 10 288. 0 0
#> # ℹ 512 more rows
# try(check_spct(-sun.spct))
# try(check_spct((sun.spct[1, "w.length"] <- 1000)))
