Method to compute the "parallel" median of values across members of a collection of spectra or of a spectral object containing multiple spectra in long form.

## Usage

```
s_median(x, na.rm, ...)
# Default S3 method
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'generic_spct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'source_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'response_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'filter_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'reflector_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'calibration_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'cps_mspct'
s_median(x, na.rm = FALSE, ...)
# S3 method for class 'raw_mspct'
s_median(x, na.rm = FALSE, ...)
```

## Value

If `x`

is a collection spectral of objects, such as a
`"filter_mspct"`

object, the returned object is of same class as the
members of the collection, such as `"filter_spct"`

, containing the
summary spectrum, with variables with names tagged for summaries other
than mean or median.

## Details

Method specializations compute the median at each wavelength across a
group of spectra stored in an object of one of the classes defined in
package 'photobiology'. Omission of NAs is done
separately at each wavelength. Interpolation is not applied, so all spectra
in `x`

must share the same set of wavelengths. An error is triggered
if this condition is nor fulfilled.

## Methods (by class)

`s_median(default)`

:`s_median(generic_spct)`

:`s_median(source_mspct)`

:`s_median(response_mspct)`

:`s_median(filter_mspct)`

:`s_median(reflector_mspct)`

:`s_median(calibration_mspct)`

:`s_median(cps_mspct)`

:`s_median(raw_mspct)`

:

## Note

Objects of classes `raw_spct`

and `cps_spct`

can contain data
from multiple scans in multiple variables or "columns". The methods accept
as arguments objects of these classes only if spectra contain data for a
single spectrometer scan. In the case of `cps_spct`

objects, a single
column can also contain data from multiple scans spliced into a single
variable.

## Examples

```
s_median(sun_evening.mspct)
#> Object: source_spct [1,593 x 2]
#> Wavelength range 290-1000 nm, step 0.34-0.47 nm
#> Label: Median of 5 source_spct objects.
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> --
#> # A tibble: 1,593 × 2
#> w.length s.e.irrad
#> <dbl> <dbl>
#> 1 290 0
#> 2 290. 0
#> 3 291. 0
#> 4 291. 0
#> 5 292. 0
#> 6 292. 0
#> 7 293. 0
#> 8 293. 0
#> 9 294. 0
#> 10 294. 0
#> # ℹ 1,583 more rows
```