Pairwise distances
Computes the matrix of distances between all pairs of points in a set of points in two dimensional space
## Default S3 method: pairdist(X, Y=NULL, ..., period=NULL, method="C", squared=FALSE)
X,Y |
Arguments specifying the coordinates of a set of points.
Typically |
... |
Ignored. |
period |
Optional. Dimensions for periodic edge correction. |
method |
String specifying which method of calculation to use.
Values are |
squared |
Logical. If |
Given the coordinates of a set of points in two dimensional space,
this function computes the Euclidean distances between all pairs of
points, and returns the matrix of distances.
It is a method for the generic function pairdist
.
Note: If only pairwise distances within some threshold value are
needed the low-level function closepairs
may be much
faster to use.
The arguments X
and Y
must determine
the coordinates of a set of points. Typically X
and
Y
would be numeric vectors of equal length. Alternatively
Y
may be omitted and X
may be a list with two components
named x
and y
, or a matrix or data frame with two columns.
For typical input the result is numerically equivalent to
(but computationally faster than) as.matrix(dist(x))
where
x = cbind(X, Y)
, but that command is useful for calculating
all pairwise distances between points in k-dimensional space
when x
has k columns.
Alternatively if period
is given,
then the distances will be computed in the ‘periodic’
sense (also known as ‘torus’ distance).
The points will be treated as if they are in a rectangle
of width period[1]
and height period[2]
.
Opposite edges of the rectangle are regarded as equivalent.
If squared=TRUE
then the squared Euclidean distances
d^2 are returned, instead of the Euclidean distances d.
The squared distances are faster to calculate, and are sufficient for
many purposes (such as finding the nearest neighbour of a point).
The argument method
is not normally used. It is
retained only for checking the validity of the software.
If method = "interpreted"
then the distances are
computed using interpreted R code only. If method="C"
(the default) then C code is used. The C code is somewhat faster.
A square matrix whose [i,j]
entry is the distance
between the points numbered i
and j
.
Pavel Grabarnik pavel.grabar@issp.serpukhov.su and Adrian Baddeley Adrian.Baddeley@curtin.edu.au
x <- runif(100) y <- runif(100) d <- pairdist(x, y) d <- pairdist(cbind(x,y)) d <- pairdist(x, y, period=c(1,1)) d <- pairdist(x, y, squared=TRUE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.