pcaPP (version 1.9-60)

ScaleAdv: 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.

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.

Details

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

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

Run this code
  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

Run the code above in your browser using DataCamp Workspace