col01scale and colcenter (re)scale the columns of a matrix. These are simple one-line utilities, mainly with a didactical purpose.

colcenter (mat)
col01scale(mat, scale.func = function(x) diff(range(x)), location.func = mean)

Arguments

mat

numeric matrix, to rescaled.

scale.func, location.func

two functions mapping a numeric vector to a single number.

Value

a matrix with the same attributes as the input mat.

Author

Martin Maechler

See also

The standard R function scale().

Examples

## See the simple function definitions:

colcenter ## simply one line
#> function (mat) 
#> sweep(mat, 2, apply(mat, 2, mean))
#> <bytecode: 0x55fa93762bb0>
#> <environment: namespace:sfsmisc>

col01scale# almost as simple
#> function (mat, scale.func = function(x) diff(range(x)), location.func = mean) 
#> {
#>     mat <- sweep(mat, 2, apply(mat, 2, location.func))
#>     sweep(mat, 2, apply(mat, 2, scale.func), "/")
#> }
#> <bytecode: 0x55fa9379d838>
#> <environment: namespace:sfsmisc>