| subset.ppp {spatstat} | R Documentation |
Extract or replace a subset of a point pattern. Extraction has the effect of thinning the points and/or or trimming the window.
## S3 method for class 'ppp': x[i, j, drop, ...] ## S3 method for class 'ppp': x[i, j] <- value
x |
A two-dimensional point pattern.
An object of class "ppp".
|
i |
Subset index. Either a valid subset index in the usual R sense,
indicating which points should be retained, or a window
(an object of class "owin")
delineating a subset of the original observation window.
|
value |
Replacement value for the subset. A point pattern. |
j |
Redundant. Included for backward compatibility. |
drop, ... |
Ignored. These arguments are required for compatibility with the generic function. |
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 i is a subset index in the usual R sense:
either 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 i is an object of class
"owin" specifying a window of observation.
The points of x lying inside the new
window will be retained.
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 argument i 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.
If the original pattern x has marks, then the replacement
pattern value must also have marks, of the same type.
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.
A point pattern (of class "ppp").
The function does not check whether window is a subset of
x$window. Nor does it check whether value lies
inside x$window.
Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner rolf@math.unb.ca http://www.math.unb.ca/~rolf
ppp.object,
owin.object,
unmark,
split.ppp,
cut.ppp
data(longleaf)
# Longleaf pines data
## Not run:
plot(longleaf)
## End(Not run)
# adult trees defined to have diameter at least 30 cm
adult <- (longleaf$marks >= 30)
longadult <- longleaf[adult]
## Not run:
plot(longadult)
## End(Not run)
# note that the marks are still retained.
# Use unmark(longadult) to remove the marks
# New Zealand trees data
data(nztrees)
## Not run:
plot(nztrees) # plot shows a line of trees at the far right
abline(v=148, lty=2) # cut along this line
## End(Not run)
nzw <- owin(c(0,148),c(0,95)) # the subwindow
# trim dataset to this subwindow
nzsub <- nztrees[nzw]
## Not run:
plot(nzsub)
## End(Not run)
# Redwood data
data(redwood)
## Not run:
plot(redwood)
## End(Not run)
# Random thinning: delete 60% of data
retain <- (runif(redwood$n) < 0.4)
thinred <- redwood[retain]
## Not run:
plot(thinred)
## End(Not run)
# 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)
# Hickory trees
hicks <- split(lansing)$hickory
# Trees in subwindow
win <- owin(c(0.3, 0.6),c(0.2, 0.5))
lsub <- lansing[win]
# Scramble the locations of trees in subwindow, retaining their marks
lansing[win] <- scramble(lsub) %mark% (lsub$marks)