[R] Better way to find distances between points in a set?
Carl Witthoft
carl at witthoft.com
Wed Dec 10 00:49:24 CET 2008
I was playing around a bit to see how I could find the two points in a
set of points (or ordered pairs) furthest from each other.
Here's what I did:
1) created a Nrow by 2col matrix, so each row contains an x,y coordinate
pair.
2) fed the matrix to a nested mapply (cv is my matrix):
mapply(function(k,l) mapply(function(x,y,a,b)
+ sqrt((x-a)^2+(y-b)^2),cv[,1],cv[,2],k,l),cv[,1],cv[,2])->alldist
Then I just did which.max(alldist) and found the original two points by
figuring out what row, col the results of which.max referred to.
So, what's a better, or cleaner way to do all this? That is, is there a
function in some package that will do anything like my nested mapply
thing, and is there a better tool than which.max for locating a position
in a matrix?
thanks
Carl
More information about the R-help
mailing list