scale
Scaling and Centering of Matrixlike Objects
scale
is generic function whose default method centers and/or
scales the columns of a numeric matrix.
 Keywords
 array
Usage
scale(x, center = TRUE, scale = TRUE)
Arguments
 x
 a numeric matrix(like object).
 center
 either a logical value or a numeric vector of length
equal to the number of columns of
x
.  scale
 either a logical value or a numeric vector of length
equal to the number of columns of
x
.
Details
The value of center
determines how column centering is
performed. If center
is a numeric vector with length equal to
the number of columns of x
, then each column of x
has
the corresponding value from center
subtracted from it. If
center
is TRUE
then centering is done by subtracting the
column means (omitting NA
s) of x
from their
corresponding columns, and if center
is FALSE
, no
centering is done.
The value of scale
determines how column scaling is performed
(after centering). If scale
is a numeric vector with length
equal to the number of columns of x
, then each column of
x
is divided by the corresponding value from scale
.
If scale
is TRUE
then scaling is done by dividing the
(centered) columns of x
by their standard deviations if
center
is TRUE
, and the root mean square otherwise.
If scale
is FALSE
, no scaling is done.
The rootmeansquare for a (possibly centered) column is defined as
$sqrt(sum(x^2)/(n1))$, where $x$ is
a vector of the nonmissing values and $n$ is the number of
nonmissing values. In the case center = TRUE
, this is the
same as the standard deviation, but in general it is not. (To scale
by the standard deviations without centering, use
scale(x, center = FALSE, scale = apply(x, 2, sd, na.rm = TRUE))
.)
Value

For
scale.default
, the centered, scaled matrix. The numeric
centering and scalings used (if any) are returned as attributes
"scaled:center"
and "scaled:scale"
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See Also
sweep
which allows centering (and scaling) with
arbitrary statistics.
For working with the scale of a plot, see par
.
Examples
library(base)
require(stats)
x < matrix(1:10, ncol = 2)
(centered.x < scale(x, scale = FALSE))
cov(centered.scaled.x < scale(x)) # all 1