R: Standardization of Data Matrices

stdize {pls} | R Documentation

## Standardization of Data Matrices

### Description

Performs standardization (centering and scaling) of a data matrix.

### Usage

    stdize(x, center = TRUE, scale = TRUE)
    ## S3 method for class 'stdized'
    predict(object, newdata, ...)
    ## S3 method for class 'stdized'
    makepredictcall(var, call)

### Arguments

`x, newdata` | numeric matrices. The data to standardize.
`center` | logical value or numeric vector of length equal to the number of coloumns of `x`.
`scale` | logical value or numeric vector of length equal to the number of coloumns of `x`.
`object` | an object inheriting from class `"stdized"`, normally the result of a call to `stdize`.
`var` | A variable.
`call` | The term in the formula, as a call.
`...` | other arguments. Currently ignored.

### Details

`makepredictcall.stdized` is an internal utility function; it is not meant for interactive use. See `makepredictcall` for details.

If `center` is `TRUE`, `x` is centered by subtracting the coloumn mean from each coloumn. If `center` is a numeric vector, it is used in place of the coloumn means.

If `scale` is `TRUE`, `x` is scaled by dividing each coloumn by its sample standard deviation. If `scale` is a numeric vector, it is used in place of the standard deviations.

### Value

Both `stdize` and `predict.stdized` return a scaled and/or centered matrix, with attributes `"stdized:center"` and/or `"stdized:scale"` the vector used for centering and/or scaling. The matrix is given class `c("stdized", "matrix")`.

### Note

`stdize` is very similar to `scale`. The difference is that when `scale = TRUE`, `stdize` divides the coloumns by their standard deviation, while `scale` uses the root-mean-square of the coloumns. If `center` is `TRUE`, this is equivalent, but in general it is not.

### Author(s)

Bjørn-Helge Mevik and Ron Wehrens

### See Also

`mvr`, `pcr`, `plsr`, `msc`, `scale`

### Examples

    data(yarn)
    ## Direct standardization:
    Ztrain <- stdize(yarn$NIR[yarn$train,])
    Ztest <- predict(Ztrain, yarn$NIR[!yarn$train,])

    ## Used in formula:
    mod <- plsr(density ~ stdize(NIR), ncomp = 6, data = yarn[yarn$train,])
    pred <- predict(mod, newdata = yarn[!yarn$train,]) # Automatically standardized

[Package pls version 2.7-0 Index]