Randomly Break Ties in Data
This is a generic function intended to randomly break tied data in a
way similar to what jitter does: tie-breaking is
performed by shifting all data points by a random amount.
The surveillance package defines methods for matrices,
"epidataCS", and a default method for numeric vectors.
untie(x, amount, ...)
## S3 method for class 'epidataCS'
untie(x, amount = list(t=NULL, s=NULL),
      minsep = list(t=0, s=0), direction = "left", keep.sources = FALSE,
      ..., verbose = FALSE)
## S3 method for class 'matrix'
untie(x, amount = NULL, minsep = 0,
      constraint = NULL, giveup = 1000, ...)
## Default S3 method:
untie(x, amount = NULL, minsep = 0,
      direction = c("symmetric", "left", "right"), sort = NULL,
      giveup = 1000, ...)| x | the data to be untied. | 
| amount | upper bound for the random amount by which data are shifted.
 | 
| minsep | minimum separation of jittered points. Can only be
obeyed if much smaller than  | 
| keep.sources | logical ( | 
| constraint | an object of class  | 
| giveup | number of attempts after which the algorithm should stop trying to generate new points. | 
| direction | one of  | 
| sort | logical indicating if the jittered vector should be sorted. Defaults to doing so if the original vector was already sorted. | 
| ... | For the  | 
| verbose | logical passed to  | 
For numeric vectors (default method), the jittered version is the
same as for jitter(x, amount=amount), if
direction="symmetric" (and amount is non-NULL),
and otherwise uses
x “+-” runif(length(x), 0, amount).
For matrices, a vector uniformly drawn from the disc with radius
amount is added to each point (row).
For "epidataCS", amount is a list stating the amounts
for the temporal and/or spatial dimension, respectively. It then
uses the specific methods with arguments constraint=x$W,
direction, and sort=TRUE. Note that this implements a
simplistic approach of tie-breaking where all events are assumed to be
subject to the same amounts of censoring, and the default amounts may
not be sensible choices.
the untied (jittered) data.
Sebastian Meyer
# vector example set.seed(123) untie(c(rep(1,3), rep(1.2, 4), rep(3,3)), direction="left", sort=FALSE) # spatial example data(imdepi) coords <- coordinates(imdepi$events) table(duplicated(coords)) plot(coords, cex=sqrt(multiplicity(coords))) set.seed(1) coords_untied <- untie(coords) stopifnot(!anyDuplicated(coords_untied)) points(coords_untied, col=2) # shifted by very small amount in this case
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.