prep: Pre-process a matrix for PCA

View source: R/prep.R

prepR Documentation

Pre-process a matrix for PCA

Description

Scaling and centering a matrix.

Usage

prep(object, scale = c("none", "pareto", "vector", "uv"),
  center = TRUE, eps = 1e-12, simple = TRUE, reverse = FALSE, ...)

Arguments

object

Numerical matrix (or an object coercible to such) with samples in rows and variables as columns. Also takes ExpressionSet in which case the transposed expression matrix is used.

scale

One of "UV" (unit variance a=a/\sigma_{a}) "vector" (vector normalisation b=b/||b||), "pareto" (sqrt UV) or "none" to indicate which scaling should be used to scale the matrix with a variables and b samples. Can also be a vector of scales which should be used to scale the matrix. NULL value is interpreted as "none".

center

Either a logical which indicates if the matrix should be mean centred or not, or a vector with averages which should be suntracted from the matrix. NULL value is interpreted as FALSE

eps

Minimum variance, variable with lower variance are not scaled and warning is issued instead.

simple

Logical indicating if only the data should be returned or a list with the pre-processing statistics as well.

reverse

Logical indicating if matrix should be 'post-processed' instead by multiplying each column with its scale and adding the center. In this case, center and scale should be vectors with the statistics (no warning is issued if not, instead output becomes the same as input).

...

Only used for passing through arguments.

Details

Does basically the same as scale but adds some alternative scaling options and functionality for treating pre-processing as part of a model.

Value

A pre-processed matrix or a list with

center

a vector with the estimated centers

scale

a vector with the estimated scales

data

the pre (or post) processed data

Author(s)

Henning Redestig

Examples

object <- matrix(rnorm(50), nrow=10)
res <- prep(object, scale="uv", center=TRUE, simple=FALSE)
obj <- prep(object, scale=res$scale, center=res$center)
## same as original
sum((object - prep(obj, scale=res$scale, center=res$center, rev=TRUE))^2)

hredestig/pcaMethods documentation built on Sept. 30, 2023, 10:38 a.m.