duplicatedxy | R Documentation |
Find which points among a given set are duplicates of others.
duplicatedxy(x, y)
x |
Either a vector of |
y |
A vector of |
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.
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.
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.
The real work is done by the base R function duplicated()
.
duplicated()
, deldir()
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.