Learn R Programming

spatstat.core (version 2.3-1)

rshift.splitppp: Randomly Shift a List of Point Patterns

Description

Randomly shifts each point pattern in a list of point patterns.

Usage

# S3 method for splitppp
rshift(X, …, which=seq_along(X), nsim=1, drop=TRUE)

Arguments

X

An object of class "splitppp". Basically a list of point patterns.

Parameters controlling the generation of the random shift vector and the handling of edge effects. See rshift.ppp.

which

Optional. Identifies which patterns will be shifted, while other patterns are not shifted. Any valid subset index for X.

nsim

Number of simulated realisations to be generated.

drop

Logical. If nsim=1 and drop=TRUE (the default), the result will be a split point pattern object, rather than a list containing the split point pattern.

Value

Another object of class "splitppp", or a list of such objects.

Details

This operation applies a random shift to each of the point patterns in the list X.

The function rshift is generic. This function rshift.splitppp is the method for objects of class "splitppp", which are essentially lists of point patterns, created by the function split.ppp.

By default, every pattern in the list X will be shifted. The argument which indicates that only some of the patterns should be shifted, while other groups should be left unchanged. which can be any valid subset index for X.

Each point pattern in the list X (or each pattern in X[which]) is shifted by a random displacement vector. The shifting is performed by rshift.ppp.

See the help page for rshift.ppp for details of the other arguments.

If nsim > 1, then the simulation procedure is performed nsim times; the result is a list of split point patterns.

See Also

rshift, rshift.ppp

Examples

Run this code
# NOT RUN {
   data(amacrine)
   Y <- split(amacrine)

   # random toroidal shift
   # shift "on" and "off" points separately
   X <- rshift(Y)

   # shift "on" points and leave "off" points fixed
   X <- rshift(Y, which="on")

   # maximum displacement distance 0.1 units
   X <- rshift(Y, radius=0.1)

   # shift with erosion
   X <- rshift(Y, radius=0.1, edge="erode")
# }

Run the code above in your browser using DataLab