Skip to contents

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

Usage

s_mean(x, trim, na.rm, ...)

# Default S3 method
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'generic_spct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'source_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'response_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'filter_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'reflector_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'calibration_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'cps_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

# S3 method for class 'raw_mspct'
s_mean(x, trim = 0, na.rm = FALSE, ...)

Arguments

x

An R object.

trim

numeric The fraction (0 to 0.5) of observations to be trimmed from each end of x before the mean is computed. Values of trim outside that range are taken as the nearest endpoint.

na.rm

logical A value indicating whether NA values should be stripped before the computation proceeds.

...

Further arguments passed to or from other methods.

Value

If x is a collection spectral of objects, such as a "filter_mspct" object, the returned object belongs to the 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 mean at each wavelength across a group of spectra stored in an object of one of the classes defined in package 'photobiolgy'. Trimming of extreme values is possible (trimmed mean) and 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.

Note

Objects of classes raw_spct and cps_spct can contain data from multiple scans in multiple variables or "columns". The parallel summaries' 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.

Deepest Curves

Parallel summaries differ fundamentally from the "deepest curves" obtained through functional data analysis (FDA) in that in functional data analysis one of the input curves is returned as the deepest one based on a decision criterion. In contrast the parallel summaries from package 'photobioloy' return one or more "fictional" curves different to any of those passed as inputs. This curve is constructed from independent summaries at each wavelength value.

See also

See mean for the mean() method used for the computations.

Examples

s_mean(sun_evening.mspct)
#> Object: source_spct [1,593 x 2]
#> Wavelength range 290-1000 nm, step 0.34-0.47 nm 
#> Label: Mean of 5 source_spct objects.
#>  cosine.hour.9 
#> Measured on 2023-06-12 18:38:00.379657 UTC
#> Measured on 2023-06-12 18:39:00.797266 UTC
#> Measured on 2023-06-12 18:40:00.714554 UTC
#> Measured on 2023-06-12 18:41:00.768459 UTC
#> Measured on 2023-06-12 18:42:00.769065 UTC 
#> Measured at 60.227 N, 24.018 E; Viikki, Helsinki, FI 
#> 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