Last chance! 50% off unlimited learning
Sale ends in
Data is centered and rescaled (to have mean 0 and a standard deviation of 1).
ScaleAdv(x, center = mean, scale = sd)
The function returns a list containing
centered and rescaled data matrix.
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.
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.
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.
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.
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.
Heinrich Fritz, Peter Filzmoser <P.Filzmoser@tuwien.ac.at>
The default scale
being NULL
means that no rescaling is done.
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.
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 DataLab