Scaling and Centering of Matrices

Usage

scale(x, center=TRUE, scale=TRUE)

Arguments

x a numeric matrix.
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.

Description

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 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 root-mean-square, and if scale is FALSE, no scaling is done.

The root-mean-square for a column is obtained by computing the square-root of the sum-of-squares of the non-missing values in the column divided by the number of non-missing values minus one.

Value

The centered, scaled matrix.

See Also

sweep which allows centering (and scaling) with arbitrary statistics.

Examples

x <- matrix(1:10, nc=2)
(centered.x <- scale(x, scale=FALSE))
cov(centered.scaled.x <- scale(x))# all 1


[Package Contents]