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 |
scale |
logical value or numeric vector of length equal to the number
of coloumns of |
object |
an object inheriting from class |
... |
other arguments. Currently ignored. |
var |
A variable. |
call |
The term in the formula, as a call. |
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
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