# spatialSign: Compute the multivariate spatial sign In caret: Classification and Regression Training

 spatialSign R Documentation

## Compute the multivariate spatial sign

### Description

Compute the spatial sign (a projection of a data vector to a unit length circle). The spatial sign of a vector `w` is `w /norm(w)`.

### Usage

```spatialSign(x, ...)

## Default S3 method:
spatialSign(x, na.rm = TRUE, ...)

## S3 method for class 'matrix'
spatialSign(x, na.rm = TRUE, ...)

## S3 method for class 'data.frame'
spatialSign(x, na.rm = TRUE, ...)
```

### Arguments

 `x` an object full of numeric data (which should probably be scaled). Factors are not allowed. This could be a vector, matrix or data frame. `...` Not currently used. `na.rm` A logical; should missing data be removed when computing the norm of the vector?

### Value

A vector, matrix or data frame with the same dim names of the original data.

Max Kuhn

### References

Serneels et al. Spatial sign preprocessing: a simple way to impart moderate robustness to multivariate estimators. J. Chem. Inf. Model (2006) vol. 46 (3) pp. 1402-1409

### Examples

```
spatialSign(rnorm(5))

spatialSign(matrix(rnorm(12), ncol = 3))

# should fail since the fifth column is a factor
try(spatialSign(iris), silent = TRUE)

spatialSign(iris[,-5])

trellis.par.set(caretTheme())
featurePlot(iris[,-5], iris[,5], "pairs")
featurePlot(spatialSign(scale(iris[,-5])), iris[,5], "pairs")

```

caret documentation built on Aug. 9, 2022, 5:11 p.m.