Divides a multidimensional point pattern into several sub-patterns, according to their marks, or according to any user-specified grouping.
# S3 method for ppx
split(x, f = marks(x), drop=FALSE, un=NULL, ...)
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"
.
A multi-dimensional point pattern.
An object of class "ppx"
.
Data determining the grouping. Either a factor, a logical vector, or the name of one of the columns of marks.
Logical. Determines whether empty groups will be deleted.
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.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
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]
.
the character string "marks"
, if marks(x)
is a factor.
a character string, matching the name of one of the columns of
marks, if marks(x)
is a data frame or hyperframe. 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
.
ppx
,
plot.anylist
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)
Run the code above in your browser using DataLab