normalize: Normalize a matrix/vector to sum to one (probability simplex)
Description
normalize projects a vector or matrix onto the
probability simplex.
If all entries (per row or column) get thresholded to
\(0\) (since they are all negative to start with), then
it sets the position of the maximum of x to
\(1\) and leaves all other entries at \(0\).
Usage
normalize(x, byrow = TRUE, tol = 1e-06)
Arguments
x
a numeric matrix(like object).
byrow
logical; if TRUE rows are normalized;
otherwise columns.
tol
a tolerance level to set values \(< tol\) to
\(0\) (after an initial normalization). Default:
tol=1e-6
Value
If x is a vector it returns the thresholded vector
(see threshold) and normalized by its sum.
If x is a matrix it works by column of by row
(argument byrow).