rtoro {spatstat}R Documentation

Random Toroidal Shift of Point Pattern

Description

Applies a random shift simultaneously to all the points of a point pattern, or to selected sub-patterns, with wraparound at the borders of the window.

Usage

   rtoro(X, which=NULL)

Arguments

X Point pattern to be subjected to random shift. An object of class "ppp" or "splitppp".
which Identifies which components of the pattern will be shifted. Vector of marks (if X is a multitype point pattern) or subset of names(X) (if X is a "splitppp" object). Each component will be shifted independently.

Details

This operation randomises the locations of the points in a point pattern. It is useful for some hypothesis testing purposes.

A `shift' is a simultaneous, parallel displacement of all points by the same displacement vector (delta.x, delta.y). Shifting a point pattern could leave some points outside the boundary of the window of observation, so we may (if the window is a rectangle) treat opposite edges of the window as identical, so that a point which disappears off the right-hand edge will re-appear at the left-hand edge. This is called a ``toroidal shift'' because it makes the rectangle topologically equivalent to the surface of a torus (doughnut).

The argument X may be either

If which=NULL, then

The argument which identifies which sub-patterns of X will be subjected to random shifts. Different sub-patterns will be shifted by different displacement vectors. If which is not NULL, then

In this implementation, every random displacement vector is generated with a uniform distribution over the range of possible displacement vectors. That is, the coordinates delta.x, delta.y are independent and uniformly distributed.

Value

An object of the same type as X.

Author(s)

Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner rolf@math.unb.ca http://www.math.unb.ca/~rolf

Examples

   data(amacrine)

   # point patterns:
   # shift all points simultaneously
   X <- rtoro(amacrine)
   # shift "on" and "off" points separately
   X <- rtoro(amacrine, which=amacrine$marks)
   # shift "on" points and leave "off" points fixed
   X <- rtoro(amacrine, which="on")

   # splitppp objects:
   Y <- split(amacrine)
   # shift "on" and "off" points separately
   Z <- rtoro(Y)
   # shift "on" points and leave "off" points fixed
   Z <- rtoro(Y, "on")
   # shift all points simultaneously
   Z <- split(rtoro(superimpose(Y)))
   

[Package spatstat version 1.6-8 Index]