yat
0.20pre

Normalization of data. More...
Classes  
class  ColumnNormalizer 
Using a functor T to normalize each column. More...  
class  Gauss 
Gaussian Normalizer. More...  
class  qQuantileNormalizer 
Perform Qquantile normalization. More...  
class  QuantileNormalizer 
Perform quantile normalization. More...  
class  RangeNormalizer 
class  RowNormalizer 
Using a functor T to normalize each column. More...  
class  Spearman 
Replace elements with normalized rank. More...  
class  Zscore 
Zero mean and unity variance. More...  
Typedefs  
template<typename T = statistics::Average>  
using  Centralizer = RangeNormalizer< T, std::minus< double > > 
Centralize a range. More...  
using  UnityScaler = RangeNormalizer< detail::UnityScalerFactor, std::multiplies< double > > 
Scale a range to unity. More...  
Normalization of data.
using theplu::yat::normalizer::Centralizer = typedef RangeNormalizer<T, std::minus<double> > 
Centralize a range.
The class centralizes a range [first, last)
in two steps. First, the center value is calculaterd using the functor UnaryFunction
to calculate the center. Second, the center value is subtracted from each element in range [first, last)
. UnaryFunction
must be a functor that has an operator:
where return_type
must be convertible to value_type
of InputIterator
. By default the center value is calculated as the arithmetic mean via class statistics::Average, but this can be changed using an alternative functor such as statistics::Percentiler.
using theplu::yat::normalizer::UnityScaler = typedef RangeNormalizer<detail::UnityScalerFactor, std::multiplies<double> > 
Scale a range to unity.
The sum of input range is calculated. If the input range is unweighted: ; if the input range is weighted: and the data value in the result range is calculated as the result[i] = input[i] / sum
. Consequently, the sum of elements in the resulting range is unity, except in the case when the input range is weighted and the result range is unweighed the information about the weights gets lost.