sp::zerodist might be your friend, look into the "zero" argument to control what is to be considered nearby.

On 02/22/2013 02:18 PM, Tim Howard wrote:
Julian,
Thanks for the reply. That seems like an interesting approach. I
suppose another 'GIS' way would be to buffer all the points 100m and
then find those where the buffers overlap. My dataset isn't too big
(1000's records), and what I came up with seems to do the trick, so I'll
stick with it for now.

For the archives, I was a bit hasty in the solution I pasted below - it
caught the second of the pairs, where I wanted the first of the pairs
(after sorting descending by date). These are the lines that do it
correctly.

b <- a[0,]
for(i in 1:nrow(a)){
     if(is.na(a[match(a$neigh[i],rownames(a)[1:i]),]$ID)){
         b <- rbind(b,a[i,])
     }
}

Best to all,
Tim


Julian Burgos <jul...@hafro.is> 2/21/2013 3:24 AM >>>
Hi Tim,

Perhaps you should use clustering to identify groups of points that are
separated 100m or more from other points.  You could:
a) Calculate distances among points
b) Do some type of hierarchical clustering (e.g. the function agnes in
the cluster package).
c) Identify as clusters everything with a dissimilarity less than
100m.
d) Randomly select a single point from each cluster.

Julian


--
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster
Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
8333081, Fax: +49 251 8339763  http://ifgi.uni-muenster.de
http://www.52north.org/geostatistics      e.pebe...@wwu.de

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to