# spatialSign

##### Compute the multivariate spatial sign

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)`

.

- Keywords
- manip

##### Usage

`spatialSign(x, ...)`# S3 method for default
spatialSign(x, na.rm = TRUE, ...)

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

# S3 method for 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.

##### 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

```
# NOT RUN {
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")
# }
```

*Documentation reproduced from package caret, version 6.0-86, License: GPL (>= 2)*