R: Nearest Neighbours in Any Dimensions

nnwhich.ppx {spatstat.geom} | R Documentation

## Nearest Neighbours in Any Dimensions

### Description

Finds the nearest neighbour of each point in a multi-dimensional point pattern.

### Usage

      ## S3 method for class 'ppx'
    nnwhich(X, ..., k=1)

### Arguments

`X` | Multi-dimensional point pattern (object of class `"ppx"`).
`...` | Arguments passed to `coords.ppx` to determine which coordinates should be used.
`k` | Integer, or integer vector. The algorithm will compute the distance to the `k`th nearest neighbour.

### Details

For each point in the given multi-dimensional point pattern, this function finds its nearest neighbour (the nearest other point of the pattern). By default it returns a vector giving, for each point, the index of the point's nearest neighbour. If `k` is specified, the algorithm finds each point's `k`th nearest neighbour.

The function `nnwhich` is generic. This is the method for the class `"ppx"`.

If there are no points in the pattern, a numeric vector of length zero is returned. If there is only one point, then the nearest neighbour is undefined, and a value of `NA` is returned. In general if the number of points is less than or equal to `k`, then a vector of `NA`'s is returned.

To evaluate the distance between a point and its nearest neighbour, use `nndist`.

To find the nearest neighbours from one point pattern to another point pattern, use `nncross`.

By default, both spatial and temporal coordinates are extracted. To obtain the spatial distance between points in a space-time point pattern, set `temporal=FALSE`.

### Value

Numeric vector or matrix giving, for each point, the index of its nearest neighbour (or `k`th nearest neighbour).

If `k = 1` (the default), the return value is a numeric vector `v` giving the indices of the nearest neighbours (the nearest neighbout of the `i`th point is the `j`th point where `j = v[i]`).

If `k` is a single integer, then the return value is a numeric vector giving the indices of the `k`th nearest neighbours.

If `k` is a vector, then the return value is a matrix `m` such that `m[i,j]` is the index of the `k[j]`th nearest neighbour for the `i`th data point.

### Warnings

A value of `NA` is returned if there is only one point in the point pattern.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

### See Also

`nnwhich`, `nndist`, `nncross`

### Examples

       df <- data.frame(x=runif(5),y=runif(5),z=runif(5),w=runif(5))
       X <- ppx(data=df)
       m <- nnwhich(X)
       m2 <- nnwhich(X, k=2)

[Package spatstat.geom version 2.2-0 Index]