Pairwise distances between two different sets of points
Computes the distances between each pair of points taken from two different sets of points.
## S3 method for class 'default': crossdist(X, Y, x2, y2, \dots, period=NULL, method="C", squared=FALSE)
- Numeric vectors of equal length specifying the coordinates of the first set of points.
- Numeric vectors of equal length specifying the coordinates of the second set of points.
- Optional. Dimensions for periodic edge correction.
- String specifying which method of calculation to use.
- Logical. If
squared=TRUE, the squared distances are returned instead (this computation is faster).
Given two sets of points, this function computes the Euclidean distance from each point in the first set to each point in the second set, and returns a matrix containing these distances.
This is a method for the generic function
This function expects
Y to be numeric vectors
of equal length specifying the coordinates of the first set of points.
y2 specify the coordinates of the
second set of points.
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
period and height
Opposite edges of the rectangle are regarded as equivalent.
method is not normally used. It is
retained only for checking the validity of the software.
method = "interpreted" then the distances are
computed using interpreted R code only. If
(the default) then C code is used.
The C code is faster by a factor of 4.
- A matrix whose
[i,j]entry is the distance from the
i-th point in the first set of points to the
j-th point in the second set of points.
d <- crossdist(runif(7), runif(7), runif(12), runif(12)) d <- crossdist(runif(7), runif(7), runif(12), runif(12), period=c(1,1))