# subset.ppp

0th

Percentile

##### Extract or Replace Subset of Point Pattern

Extract or replace a subset of a point pattern. Extraction has the effect of thinning the points and/or or trimming the window.

Keywords
manip, spatial
##### Usage
## S3 method for class 'ppp':
[(x, subset, window)
## S3 method for class 'ppp':
[(x, subset)
## S3 method for class 'ppp':
[(x, , window)  ## S3 method for class 'ppp':
[(x, subset, window) <- value
## S3 method for class 'ppp':
[(x, subset) <- value
## S3 method for class 'ppp':
[(x, , window) <- value
##### Arguments
x
A two-dimensional point pattern. An object of class "ppp".
subset
logical vector indicating which points should be retained.
window
window (an object of class "owin") delineating a subset of the original observation window.
value
Replacement value for the subset. A point pattern.
##### Details

These functions extract a designated subset of a point pattern, or replace the designated subset with another point pattern.

The function [.ppp is a method for [ for the class "ppp". It extracts a designated subset of a point pattern, either by thinning'' (retaining/deleting some points of a point pattern) or trimming'' (reducing the window of observation to a smaller subregion and retaining only those points which lie in the subregion) or both. The pattern will be thinned'' if subset is specified. The points designated by subset will be retained. Here subset can be a numeric vector of positive indices (identifying the points to be retained), a numeric vector of negative indices (identifying the points to be deleted) or a logical vector of length equal to the number of points in the point pattern x. In the latter case, the points (x$x[i], x$y[i]) for which subset[i]=TRUE will be retained, and the others will be deleted. The pattern will be trimmed'' if window is specified. This should be an object of class owin specifying a window of observation to which the point pattern x will be trimmed. The points of x lying inside the new window will be retained. Both thinning'' and trimming'' can be performed together.

The function [<-.ppp is a method for [<- for the class "ppp". It replaces the designated subset with the point pattern value. The subset of x to be replaced is designated by the arguments subset and window as above.

The replacement point pattern value must lie inside the window of the original pattern x. The ordering of points in x will be preserved if the replacement pattern value has the same number of points as the subset to be replaced. Otherwise the ordering is unpredictable.

Use the function unmark to remove marks from a marked point pattern.

Use the function split.ppp to select those points in a marked point pattern which have a specified mark.

##### Value

• A point pattern (of class "ppp").

##### synopsis

## S3 method for class 'ppp': [(x, subset, window, drop, \dots) ## S3 method for class 'ppp': [(x, subset, window) <- value subset.ppp(x, subset, window, drop, ...)

##### Warnings

The function does not check whether window is a subset of x$window. Nor does it check whether value lies inside x$window.

ppp.object, owin.object, unmark, split.ppp, cut.ppp

• subset.ppp
• [.ppp
• [<-.ppp
##### Examples
data(longleaf)
# Longleaf pines data
plot(longleaf)
<testonly>longleaf <- longleaf[seq(1,longleaf$n,by=10)]</testonly> # adult trees defined to have diameter at least 30 cm adult <- (longleaf$marks >= 30)
# equivalent to: longadult <- subset.ppp(longleaf, subset=adult)
# note that the marks are still retained.
# Use unmark(longadult) to remove the marks

# New Zealand trees data
data(nztrees)
plot(nztrees)          # plot shows a line of trees at the far right
abline(v=148, lty=2)   # cut along this line
nzw <- owin(c(0,148),c(0,95)) # the subwindow
# trim dataset to this subwindow
nzsub <- nztrees[,nzw]
# equivalent to: nzsub <- subset.ppp(nztrees, window=nzw)
plot(nzsub)

# Redwood data
data(redwood)
plot(redwood)
# Random thinning: delete 60\% of data
retain <- (runif(redwood$n) < 0.4) thinred <- redwood[retain] plot(thinred) # Scramble 60\% of data modif <- (runif(redwood$n) < 0.6)
scramble <- function(x) { runifpoint(x$n, x$window) }
redwood[modif] <- scramble(redwood[modif])

# Lansing woods data - multitype points
data(lansing)
<testonly>lansing <- lansing[seq(1, lansing$n, length=100)]</testonly> # hickory trees only hick <- lansing[lansing$marks == "hickory", ]
# still a marked pattern -- remove marks
hick <- unmark(hick)

# scramble the hickories
lansing[lansing\$marks == "hickory"] <- scramble(hick)
Documentation reproduced from package spatstat, version 1.9-2, License: GPL version 2 or newer

### Community examples

Looks like there are no examples yet.