## S3 method for class 'ppp':
cut(x, z=marks(x), ...)
"ppp"
.cut.default
.
They determine the breakpoints for the mapping from numerical values
in z
to factor values in the output.
See
"ppp"
) with a marks
vector that is a factor.x
into one of several possible types. The
classification is based on the dataset z
, which may be either
z
)
determining the classification of each point inx
.
Levels of the factor determine the classification.z
). The range of values ofz
will be divided into
bands (the number of bands is determined by...
)
andz
will be converted to a factor usingcut.default
."im"
).
The value ofz
at each point ofx
will be
used as the classifying variable."tess"
, seetess
). Each point ofx
will be classified
according to the tile of the tessellation into which it falls."owin"
).
Each point ofx
will be classified
according to whether it falls inside or outside this window.marks(x)
, if this is a data frame.z
to be the vector of marks in
x
(or the first column in the data frame of marks of x
,
if it is a data frame). If the marks are numeric, then the range of values
of the numerical marks is divided into several intervals, and each
interval is associated with a level of a factor.
The result is a
marked point pattern, with the same window and point locations as
x
, but with the numeric mark of each point discretised
by replacing it by the factor level.
This is a convenient way to transform a marked point pattern
which has numeric marks into a multitype point pattern,
for example to plot it or analyse it. See the examples. To select some points from a point pattern, use the subset operator
[.ppp
instead.
cut
,
ppp.object
,
tess
# (1) cutting based on numeric marks of point pattern
data(longleaf)
# Longleaf Pines data
# the marks are positive real numbers indicating tree diameters.
<testonly># smaller dataset
longleaf <- longleaf[seq(1, longleaf$n, by=80)]</testonly>
plot(longleaf)
# cut the range of tree diameters into three intervals
long3 <- cut(longleaf, breaks=3)
plot(long3)
# adult trees defined to have diameter at least 30 cm
long2 <- cut(longleaf, breaks=c(0,30,100), labels=c("Sapling", "Adult"))
plot(long2)
plot(long2, cols=c("green","blue"))
# (2) cutting based on another numeric vector
# Divide Swedish Pines data into 3 classes
# according to nearest neighbour distance
data(swedishpines)
plot(cut(swedishpines, nndist(swedishpines), breaks=3))
# (3) cutting based on tessellation
# Divide Swedish Pines study region into a 4 x 4 grid of rectangles
# and classify points accordingly
tes <- tess(xgrid=seq(0,96,length=5),ygrid=seq(0,100,length=5))
plot(cut(swedishpines, tes))
plot(tes, lty=2, add=TRUE)
# (4) multivariate marks
data(finpines)
cut(finpines, "height", breaks=4)
Run the code above in your browser using DataLab