Learn R Programming

pcaPP (version 1.8-3)

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 conve
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
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 val

Value

  • The function returns a list containing
  • xcentered and rescaled data matrix.
  • centera 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.
  • scalea 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
  c(mean(x), sd(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 DataLab