standardNormalVariate {prospectr} | R Documentation |
Standard normal variate transformation
Description
This function normalizes each row of an input matrix by subtracting each row by its mean and dividing it by its standard deviation
Usage
standardNormalVariate(X)
Arguments
X |
a numeric matrix of spectral data (optionally a data frame that can be coerced to a numerical matrix). |
Details
SNV is simple way for normalizing spectral data that intends to correct for light scatter. It operates row-wise:
\[SNV_i = \frac{x_i - \bar{x}_i}{s_i}\]where \(x_i\) is the signal of the \(i\)th observation, \(\bar{x}_i\) is its mean and \(s_i\) its standard deviation.
Value
a matrix of normalized spectral data.
Author(s)
Antoine Stevens
References
Barnes RJ, Dhanoa MS, Lister SJ. 1989. Standard normal variate transformation and de-trending of near-infrared diffuse reflectance spectra. Applied spectroscopy, 43(5): 772-777.
See Also
msc
, detrend
, blockScale
,
blockNorm
Examples
data(NIRsoil)
NIRsoil$spc_snv <- standardNormalVariate(X = NIRsoil$spc)
# 10 first snv spectra
matplot(
x = as.numeric(colnames(NIRsoil$spc_snv)),
y = t(NIRsoil$spc_snv[1:10, ]),
type = "l",
xlab = "wavelength, nm",
ylab = "snv"
)
## Not run:
apply(NIRsoil$spc_snv, 1, sd) # check
## End(Not run)
[Package prospectr version 0.2.7 Index]