Learn R Programming

prospectr (version 0.2.7)

blockScale: Hard or soft block scaling

Description

Hard or soft block scaling of a spectral matrix to constant group variance. In multivariate calibration, block scaling is used to down-weight variables, when one block of variables dominates other blocks. With hard block scaling, the variables in a block are scaled so that the sum of their variances equals 1. When soft block scaling is used, the variables are scaled such that the sum of variable variances is equal to the square root of the number of variables in a particular block.

Usage

blockScale(X, type = 'hard', sigma2 = 1)

Value

a list with Xscaled, the scaled matrix and f, the scaling factor.

Arguments

X

a numeric matrix or vector to process (optionally a data frame that can be coerced to a numerical matrix).

type

the type of block scaling: 'hard' or 'soft'.

sigma2

the desired total variance of a block (ie sum of the variances of all variables, default = 1), applicable when type = 'hard'.

Author

Antoine Stevens

References

Eriksson, L., Johansson, E., Kettaneh, N., Trygg, J., Wikstrom, C., and Wold, S., 2006. Multi- and Megavariate Data Analysis. MKS Umetrics AB.

See Also

blockNorm, standardNormalVariate, detrend

Examples

Run this code
X <- matrix(rnorm(100), ncol = 10)
# Hard block scaling
res <- blockScale(X)
# sum of column variances == 1
apply(res$Xscaled, 2, var)

Run the code above in your browser using DataLab