R: centers and rescales data

ScaleAdv {pcaPP} | R Documentation

## centers and rescales data

### Description

Data is centered and rescaled (to have mean 0 and a standard deviation of 1).

### Usage

    ScaleAdv(x, center = mean, scale = sd)

### Arguments

`x` | matrix containing the observations. If this is not a matrix, but a data frame, it is automatically converted into a matrix using the function `as.matrix`. In any other case, (eg. a vector) it is converted into a matrix with one single column.
`center` | this argument indicates how the data is to be centered. It can be a function like `mean` or `median` or a vector of length `ncol(x)` containing the center value of each column.
`scale` | this argument indicates how the data is to be rescaled. It can be a function like `sd` or `mad` or a vector of length `ncol(x)` containing the scale value of each column.

### Details

The default `scale` being `NULL` means that no rescaling is done.

### Value

The function returns a list containing

`x` | centered and rescaled data matrix.
`center` | a vector of the centers of each column x. If you add to each column of `x` the appropriate value from `center`, you will obtain the data with the original location of the observations.
`scale` | a vector of the scale factors of each column x. If you multiply each column of `x` by the appropriate value from `scale`, you will obtain the data with the original scales.

### Author(s)

Heinrich Fritz, Peter Filzmoser <P.Filzmoser@tuwien.ac.at>

### References

C. Croux, P. Filzmoser, M. Oliveira, (2007). Algorithms for Projection-Pursuit Robust Principal Component Analysis, Chemometrics and Intelligent Laboratory Systems, Vol. 87, pp. 218-225.

### Examples

      x <- rnorm(100, 10, 5)
      x <- ScaleAdv(x)$x

      # can be used with multivariate data too
      library(mvtnorm)
      x <- rmvnorm(100, 3:7, diag((7:3)^2))
      res <- ScaleAdv(x, center = l1median, scale = mad)
      res

      # instead of using an estimator, you could specify the center and scale yourself too
      x <- rmvnorm(100, 3:7, diag((7:3)^2))
      res <- ScaleAdv(x, 3:7, 7:3)
      res

[Package pcaPP version 2.0-1 Index]