Learn R Programming

spatstat.geom (version 3.6-0)

closepairs: Close Pairs of Points

Description

Low-level functions to find all close pairs of points.

Usage

closepairs(X, rmax, ...)

# S3 method for ppp closepairs(X, rmax, twice=TRUE, what=c("all","indices","ijd"), distinct=TRUE, neat=TRUE, periodic=FALSE, ...)

crosspairs(X, Y, rmax, ...)

# S3 method for ppp crosspairs(X, Y, rmax, what=c("all", "indices", "ijd"), periodic=FALSE, ..., iX=NULL, iY=NULL)

Arguments

Value

A list with components i and j, and possibly other components as described under Details.

Details

These are the efficient low-level functions used by spatstat to find all close pairs of points in a point pattern or all close pairs between two point patterns.

closepairs(X,rmax) finds all pairs of distinct points in the pattern X which lie at a distance less than or equal to rmax apart, and returns them. The result is a list with the following components:

i

Integer vector of indices of the first point in each pair.

j

Integer vector of indices of the second point in each pair.

xi,yi

Coordinates of the first point in each pair.

xj,yj

Coordinates of the second point in each pair.

dx

Equal to xj-xi

dy

Equal to yj-yi

d

Euclidean distance between each pair of points.

If what="indices" then only the components i and j are returned. This is slightly faster and more efficient with use of memory.

crosspairs(X,rmax) identifies all pairs of neighbours (X[i], Y[j]) between the patterns X and Y, and returns them. The result is a list with the same format as for closepairs.

The arguments iX and iY are used when the two point patterns X and Y may have some points in common. In this situation crosspairs(X, Y) would return some pairs of points in which the two points are identical. To avoid this, attach a unique integer identifier to each point, such that two points are identical if their identifier values are equal. Let iX be the vector of identifier values for the points in X, and iY the vector of identifiers for points in Y. Then the code will only compare two points if they have different values of the identifier.

See Also

closepairs.pp3 for the corresponding functions for 3D point patterns.

Kest, Kcross, nndist, nncross, applynbd, markstat for functions which use these capabilities.

Examples

Run this code
   d <- closepairs(cells, 0.1)
   head(as.data.frame(d))

   Y <- split(amacrine)
   e <- crosspairs(Y$on, Y$off, 0.1)

Run the code above in your browser using DataLab