# rshift.splitppp

##### Randomly Shift a List of Point Patterns

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.

##### 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.

##### Value

Another object of class `"splitppp"`

,
or a list of such objects.

##### See Also

##### Examples

```
# 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")
# }
```

*Documentation reproduced from package spatstat, version 1.64-1, License: GPL (>= 2)*