jitter                 package:base                 R Documentation

Add 'Jitter' (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.

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.

Value:

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

Author(s):

     Werner Stahel and Martin Maechler, ETH Zurich

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.

See Also:

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

Examples:

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

