R: Trim a Vector

Trim {DescTools} | R Documentation

## Trim a Vector

### Description

Clean data by means of trimming, i.e., by omitting outlying observations.

### Usage

    Trim(x, trim = 0.1, na.rm = FALSE)

### Arguments

`x` | a numeric vector to be trimmed.
`trim` | the fraction (0 to 0.5) of observations to be trimmed from each end of x. Values of trim outside that range (and < 1) are taken as the nearest endpoint. If `trim` is set to a value >1 it's interpreted as the number of elements to be cut off at each tail of `x`.
`na.rm` | a logical value indicating whether `NA` values should be stripped before the computation proceeds.

### Details

A symmetrically trimmed vector `x` with a fraction of trim observations (resp. the given number) deleted from each end will be returned. If `trim` is set to a value >0.5 or to an integer value > n/2 then the result will be `NA`.

### Value

The trimmed vector `x`. The indices of the trimmed values will be attached as attribute named `"trim"`.

### Note

This function is basically an excerpt from the base function `mean`, which allows the vector `x` to be trimmed before calculating the mean. But what if a trimmed standard deviation is needed?

### Author(s)

R-Core (function mean), Andri Signorell <andri@signorell.net>

### See Also

`Winsorize`

### Examples

    ## generate data
    set.seed(1234)     # for reproducibility
    x <- rnorm(10)     # standard normal
    x[1] <- x[1] * 10  # introduce outlier

    ## Trim data
    x
    Trim(x, trim=0.1)

    ## Trim fixed number, say cut the 3 extreme elements from each end
    Trim(x, trim=3)

    ## check function
    s <- sample(10:20)
    s.tr <- Trim(s, trim = 2)
    setequal(c(s[attr(s.tr, "trim")], s.tr), s)

[Package DescTools version 0.99.34 Index]