deldir (version 1.0-9)

duplicatedxy: Determine duplicated points.

Description

Find which points among a given set are duplicates of others.

Usage

`duplicatedxy(x, y)`

Value

A logical vector of length equal to the (original) number of points being considered, with entries `TRUE` if the corresponding point is a duplicate of a point with a smaller index, and `FALSE` otherwise.

Arguments

x

Either a vector of `x` coordinates of a set of (two dimensional) points, or a list (or data frame) with columns `x` and `y` giving the coordinates of a set of such points.

y

A vector of `y` coordinates of a set of (two dimensional) points. Ignored if `x` is a list or data frame.

Author

Rolf Turner r.turner@auckland.ac.nz

Warning

Which indices will be considered to be indices of duplicated points (i.e. get `TRUE` values) will of course depend on the order in which the points are presented.

Details

Often it is of interest to associate each Dirichlet tile in a tessellation of a planar point set with the point determining the tile. This becomes problematic if there are duplicate points in the set being tessellated/triangulated. Duplicated points are automatically eliminated “internally” by `deldir()`. The association between tiles and the indices of the original set of points is now preserved by the component `ind.orig` of the object returned by `deldir()`. However confusion could still arise.

If it is of interest to associate Dirichlet tiles with the points determining them, then it is better to proceed by eliminating duplicate points to start with. This function (`duplicatedxy()`) provides a convenient way of doing so.

`duplicated()`, `deldir()`

Examples

Run this code
``````   set.seed(42)
xy  <- data.frame(x=runif(20),y=runif(20))
# Lots of duplicated points.
xy  <- rbind(xy,xy[sample(1:20,20,TRUE),])
# Scramble.
ii  <- sample(1:40,40)
x   <- xy\$x[ii]
y   <- xy\$y[ii]
# Unduplicate!
iii <- !duplicatedxy(x,y)
xu  <- x[iii]
yu  <- y[iii]
# The i-th tile is determined by (xu[i],yu[i]):
dxy <- deldir(xu,yu)
``````

Run the code above in your browser using DataCamp Workspace