Learn R Programming

spatstat.geom (version 3.6-0)

pairdist.default: Pairwise distances

Description

Computes the matrix of distances between all pairs of points in a set of points in two dimensional space

Usage

# S3 method for default
pairdist(X, Y=NULL, ..., period=NULL, method="C", squared=FALSE)

Arguments

Value

A square matrix whose [i,j] entry is the distance between the points numbered i and j.

Details

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.

See Also

crossdist, nndist, Kest, closepairs

Examples

Run this code
   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)

Run the code above in your browser using DataLab