Low-level functions to find all close pairs of points.
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)
A list with components i
and j
,
and possibly other components as described under 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:
Integer vector of indices of the first point in each pair.
Integer vector of indices of the second point in each pair.
Coordinates of the first point in each pair.
Coordinates of the second point in each pair.
Equal to xj-xi
Equal to yj-yi
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.
closepairs.pp3
for the corresponding
functions for 3D point patterns.
Kest
, Kcross
,
nndist
, nncross
,
applynbd
, markstat
for functions which use these capabilities.
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