identifyPCH <- function(x, y=NULL, n=length(x), labels = seq_along(x), pch=19, col=2,...) { xy <- xy.coords(x, y); x <- xy$x; y <- xy$y sel <- rep(FALSE, length(x)); res <- integer(0) while(sum(sel) < n) { ans <- identify(x[!sel], y[!sel], n=1, plot=FALSE, ...) if(!length(ans)) break ans <- which(!sel)[ans] points(x[ans], y[ans], pch = pch,col=col) sel[ans] <- TRUE res <- c(res, ans) } res }