base (version 3.6.2)

# jitter: ‘Jitter’ (Add Noise) to Numbers

## Description

Add a small amount of noise to a numeric vector.

## Usage

`jitter(x, factor = 1, amount = NULL)`

## Arguments

x

numeric vector to which jitter should be added.

factor

numeric.

amount

numeric; if positive, used as amount (see below), otherwise, if `= 0` the default is `factor * z/50`.

Default (`NULL`): `factor * d/5` where `d` is about the smallest difference between `x` values.

## Value

`jitter(x, …)` returns a numeric of the same length as `x`, but with an `amount` of noise added in order to break ties.

## Details

The result, say `r`, is `r <- x + runif(n, -a, a)` where `n <- length(x)` and `a` is the `amount` argument (if specified).

Let `z <- max(x) - min(x)` (assuming the usual case). The amount `a` to be added is either provided as positive argument `amount` or otherwise computed from `z`, as follows:

If `amount == 0`, we set `a <- factor * z/50` (same as S).

If `amount` is `NULL` (default), we set `a <- factor * d/5` where d is the smallest difference between adjacent unique (apart from fuzz) `x` values.

## References

Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P.A. (1983) Graphical Methods for Data Analysis. Wadsworth; figures 2.8, 4.22, 5.4.

Chambers, J. M. and Hastie, T. J. (1992) Statistical Models in S. Wadsworth & Brooks/Cole.

`rug` which you may want to combine with `jitter`.

## Examples

Run this code
``````# NOT RUN {
round(jitter(c(rep(1, 3), rep(1.2, 4), rep(3, 3))), 3)
## These two 'fail' with S-plus 3.x:
jitter(rep(0, 7))
jitter(rep(10000, 5))
# }
``````

Run the code above in your browser using DataCamp Workspace