Computes the distances between each pair of points taken from two different sets of points.
# S3 method for default
crossdist(X, Y, x2, y2, ...,
period=NULL, method="C", squared=FALSE)
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.
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.
Ignored.
Optional. Dimensions for periodic edge correction.
String specifying which method of calculation to use.
Values are "C"
and "interpreted"
.
Logical. If squared=TRUE
, the squared distances are
returned instead (this computation is faster).
Pavel Grabarnik pavel.grabar@issp.serpukhov.su and Adrian Baddeley Adrian.Baddeley@curtin.edu.au
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 crossdist
.
This function expects X
and Y
to be numeric vectors
of equal length specifying the coordinates of the first set of points.
The arguments x2
,y2
specify the coordinates of the
second set of points.
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.
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 faster by a factor of 4.
crossdist
,
crossdist.ppp
,
crossdist.psp
,
pairdist
,
nndist
,
Gest
d <- crossdist(runif(7), runif(7), runif(12), runif(12))
d <- crossdist(runif(7), runif(7), runif(12), runif(12), period=c(1,1))
Run the code above in your browser using DataLab