[R] find numbers that fall in a region or the next available.

S Ellison S.Ellison at LGCGroup.com
Wed Feb 3 17:33:28 CET 2016

> Dear all,I have GPS coordinates (one vector for longitude and one for latitude:
> GPSLong and GPSLat) of small are that is around 300meters X 300 meters
> (location falls inside UK).At the same time I have two more vectors (Longitude
> and Latitude) that include position of food stores again the UK I would like to
> find within my 300x300 square area which as the food stores that fall inside.I
> thought to try to find which of the Longitude of the food stores fall inside my
> area. I tried something the below
> Longitude[Longitude>(min(GPSLong)-
> 0.001)&&Longitude<(max(GPSLong)+0.001)]
> but this returned me zero results.The next option would be the code to return
> me at least the place that falls outside but still is close to that region.'Do you
> have any idea how to do that and not fall back in the time consuming look at
> each element iteration?

Well, in a sense R has already looked at every element of Longitude to get Min and Max, so you're not avoiding that.

But wouldn't something like

which.min( c( GPSLong-Longitude, GPSLat-latitude )^2  ) 

return the index of the closest Latitude/Longitude pair to your GPS location? 

And once you have the distances you could use order() or rank() to pick the top 5 (maybe using head()) or just rank() on the distances.
And once you've picked a set you can still additionally check whether a location was within the box.

S Ellison

This email and any attachments are confidential. Any use...{{dropped:8}}

More information about the R-help mailing list