R: Divide Multidimensional Point Pattern into Sub-patterns

split.ppx {spatstat.geom} | R Documentation

## Divide Multidimensional Point Pattern into Sub-patterns

### Description

Divides a multidimensional point pattern into several sub-patterns, according to their marks, or according to any user-specified grouping.

### Usage

      ## S3 method for class 'ppx'
    split(x, f = marks(x), drop=FALSE, un=NULL, ...)

### Arguments

`x` | A multi-dimensional point pattern. An object of class `"ppx"`.
`f` | Data determining the grouping. Either a factor, a logical vector, or the name of one of the columns of marks.
`drop` | Logical. Determines whether empty groups will be deleted.
`un` | Logical. Determines whether the resulting subpatterns will be unmarked (i.e. whether marks will be removed from the points in each subpattern).
`...` | Other arguments are ignored.

### Details

The generic command `split` allows a dataset to be separated into subsets according to the value of a grouping variable.

The function `split.ppx` is a method for the generic `split` for the class `"ppx"` of multidimensional point patterns. It divides up the points of the point pattern `x` into several sub-patterns according to the values of `f`. The result is a list of point patterns.

The argument `f` may be

- a factor, of length equal to the number of points in `x`. The levels of `f` determine the destination of each point in `x`. The `i`th point of `x` will be placed in the sub-pattern `split.ppx(x)$l` where `l = f[i]`.

- a character string, matching the name of one of the columns of marks, if `marks(x)` is a data frame. This column should be a factor.

If `f` is missing, then it will be determined by the marks of the point pattern. The pattern `x` can be either

- a multitype point pattern (a marked point pattern whose marks vector is a factor). Then `f` is taken to be the marks vector. The effect is that the points of each type are separated into different point patterns.

- a marked point pattern with a data frame or hyperframe of marks, containing at least one column that is a factor. The first such column will be used to determine the splitting factor `f`.

Some of the sub-patterns created by the split may be empty. If `drop=TRUE`, then empty sub-patterns will be deleted from the list. If `drop=FALSE` then they are retained.

The argument `un` determines how to handle marks in the case where `x` is a marked point pattern. If `un=TRUE` then the marks of the points will be discarded when they are split into groups, while if `un=FALSE` then the marks will be retained.

If `f` and `un` are both missing, then the default is `un=TRUE` for multitype point patterns and `un=FALSE` for marked point patterns with a data frame of marks.

The result of `split.ppx` has class `"splitppx"` and `"anylist"`. There are methods for `print`, `summary` and `plot`.

### Value

A list of point patterns. The components of the list are named by the levels of `f`. The list also has the class `"splitppx"` and `"anylist"`.

### Author(s)

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

### See Also

`ppx`, `plot.anylist`

### Examples

       df <- data.frame(x=runif(4),y=runif(4),t=runif(4),
                        age=factor(rep(c("old", "new"), 2)),
                        size=runif(4))
       X <- ppx(data=df, coord.type=c("s","s","t","m","m"))
       X
       split(X)

[Package spatstat.geom version 2.2-0 Index]