# preProcess

##### Pre-Processing of Predictors

Pre-processing transformation (centering, scaling etc) can be estimated from the training data and applied to any data set with the same variables.

- Keywords
- utilities

##### Usage

`preProcess(x, ...)`## S3 method for class 'default':
preProcess(x,
method = c("center", "scale"),
thresh = 0.95,
pcaComp = NULL,
na.remove = TRUE,
k = 5,
knnSummary = mean,
outcome = NULL,
fudge = .2,
numUnique = 3,
verbose = FALSE,
...)

## S3 method for class 'preProcess':
predict(object, newdata, ...)

##### Details

The Box-Cox transformation has been "repurposed" here: it is being used to transform the predictor variables. This method was developed for transforming the response variable while another method, the Box-Tidwell transformation, was created to estimate transformations of predictor data. However, the Box-Cox method is simpler, more computationally efficient and is equally effective for estimating power transformations.

The "range" transformation scales the data to be within [0, 1]. If new samples have values larger or smaller than those in the training set, values will be outside of this range.

The operations are applied in this order: Box-Cox transformation, centering, scaling, range, imputation, PCA, ICA then spatial sign. This is a departure from versions of

If PCA is requested but centering and scaling are not, the values will still be centered and scaled. Similarly, when ICA is requested, the data are automatically centered and scaled.

k-nearest neighbor imputation is carried out by finding the k closest samples (Euclidian distance) in the training set. Imputation via bagging fits a bagged tree model for each predictor (as a function of all the others). This method is simple, accurate and accepts missing values, but it has much higher computational cost.

A warning is thrown if both PCA and ICA are requested. ICA, as implemented by the `fastICA`

package automatically does a PCA decomposition prior to finding the ICA scores.

The function will throw an error of any variables in `x`

has less than two unique values.

##### Value

`preProcess`

results in a list with elementscall the function call dim the dimensions of `x`

bc Box-Cox transformation values, see `BoxCoxTrans`

mean a vector of means (if centering was requested) std a vector of standard deviations (if scaling or PCA was requested) rotation a matrix of eigenvectors if PCA was requested method the value of `method`

thresh the value of `thresh`

ranges a matrix of min and max values for each predictor when `method`

includes "range" (and`NULL`

otherwise)numComp the number of principal components required of capture the specified amount of variance ica contains values for the `W`

and`K`

matrix of the decomposition

##### References

Kuhn (2008), ``Building Predictive Models in R Using the caret'' (

Box, G. E. P. and Cox, D. R. (1964) An analysis of transformations (with discussion). Journal of the Royal Statistical Society B, 26, 211-252.

Box, G. E. P. and Tidwell, P. W. (1962) Transformation of the independent variables. Technometrics 4, 531-550.

##### See Also

##### Examples

```
data(BloodBrain)
# one variable has one unique value
preProc <- preProcess(bbbDescr[1:100,])
preProc <- preProcess(bbbDescr[1:100,-3])
training <- predict(preProc, bbbDescr[1:100,-3])
test <- predict(preProc, bbbDescr[101:208,-3])
```

*Documentation reproduced from package caret, version 5.07-001, License: GPL-2*