R: Random Thinning

rthin {spatstat} | R Documentation

## Random Thinning

### Description

Applies independent random thinning to a point pattern.

### Usage

    rthin(X, P, ..., nsim=1, drop=TRUE)

### Arguments

`X` | A point pattern (object of class `"ppp"` or `"lpp"`) that will be thinned.
`P` | Data giving the retention probabilities, i.e. the probability that each point in `X` will be retained. Either a single number, or a vector of numbers, or a `function(x,y)` in the R language, or a function object (class `"funxy"` or `"linfun"`), or a pixel image (object of class `"im"` or `"linim"`).
`...` | Additional arguments passed to `P`, if it is a function.
`nsim` | Number of simulated realisations to be generated.
`drop` | Logical. If `nsim=1` and `drop=TRUE` (the default), the result will be a point pattern, rather than a list containing a point pattern.

### Details

In a random thinning operation, each point of the pattern `X` is randomly either deleted or retained (i.e. not deleted). The result is a point pattern, consisting of those points of `X` that were retained.

Independent random thinning means that the retention/deletion of each point is independent of other points.

The argument `P` determines the probability of retaining each point. It may be

a single number,

  so that each point will be retained with the same probability `P`;

a vector of numbers,

  so that the `i`th point of `X` will be retained with probability `P[i]`;

a function `P(x,y)`,

  so that a point at a location `(x,y)` will be retained with probability `P(x,y)`;

an object of class `"funxy"` or `"linfun"`,

  so that points in the pattern `X` will be retained with probabilities `P(X)`;

a pixel image,

  containing values of the retention probability for all locations in a region encompassing the point pattern.

If `P` is a function `P(x,y)`, it should be ‘vectorised’, that is, it should accept vector arguments `x,y` and should yield a numeric vector of the same length. The function may have extra arguments which are passed through the `...` argument.

### Value

A point pattern (object of class `"ppp"` or `"lpp"`) if `nsim=1`, or a list of point patterns if `nsim > 1`.

### Reproducibility

The algorithm for random thinning was changed in spatstat version `1.42-3`. Set `spatstat.options(fastthin=FALSE)` to use the previous, slower algorithm, if it is desired to reproduce results obtained with earlier versions.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.

### Examples

      plot(redwood, main="thinning")

      # delete 20% of points
      Y <- rthin(redwood, 0.8)
      points(Y, col="green", cex=1.4)

      # function
      f <- function(x,y) { ifelse(x < 0.4, 1, 0.5) }
      Y <- rthin(redwood, f)

      # pixel image
      Z <- as.im(f, Window(redwood))
      Y <- rthin(redwood, Z)

      # pattern on a linear network
      A <- runiflpp(30, simplenet)
      B <- rthin(A, 0.2)
      g <- function(x,y,seg,tp) { ifelse(y < 0.4, 1, 0.5) }
      B <- rthin(A, linfun(g, simplenet))

[Package spatstat version 1.54-0 Index]