quadratcount(X, ...)
## S3 method for class 'ppp':
quadratcount(X, nx=5, ny=nx, \dots,
xbreaks=NULL, ybreaks=NULL, tess=NULL)
## S3 method for class 'splitppp':
quadratcount(X, \dots)
"ppp"
)
or a split point pattern (object of class "splitppp"
).xbreaks
and ybreaks
.quadratcount.ppp
.nx
.ny
."tess"
)
determining the quadrats. Incompatible
with nx,ny,xbreaks,ybreaks
.quadratcount.ppp
is a
contingency table containing the number of points in each
quadrat. The table is also an object of the
special class "quadratcount"
and there is a plot method for this class. The value of quadratcount.splitppp
is a list of such
contingency tables, each containing the quadrat counts for one of the
component point patterns in X
.
This list also has the class "listof"
which has
print and plot methods.
If X
is a point pattern, then
by default, the window containing the point pattern X
is divided into
an nx * ny
grid of rectangular tiles or `quadrats'.
(If the window is not a rectangle, then these tiles are intersected
with the window.)
The number of points of X
falling in each quadrat is
counted. These numbers are returned as a contingency table.
If xbreaks
is given, it should be a numeric vector
giving the $x$ coordinates of the quadrat boundaries.
If it is not given, it defaults to a
sequence of nx+1
values equally spaced
over the range of $x$ coordinates in the window X$window
.
Similarly if ybreaks
is given, it should be a numeric
vector giving the $y$ coordinates of the quadrat boundaries.
It defaults to a vector of ny+1
values
equally spaced over the range of $y$ coordinates in the window.
The lengths of xbreaks
and ybreaks
may be different.
Alternatively, quadrats of any shape may be used.
The argument tess
can be a tessellation (object of class
"tess"
) whose tiles will serve as the quadrats.
The algorithm counts the number of points of X
falling in each quadrat, and returns these counts as a
contingency table.
The return value is a table
which can be printed neatly.
The return value is also a member of the special class
"quadratcount"
. Plotting the object will display the
quadrats, annotated by their counts. See the examples.
If X
is a split point pattern (object of class
"splitppp"
then quadrat counting will be performed on
each of the components point patterns, and the resulting
contingency tables will be returned in a list. This list can be
printed or plotted.
Marks attached to the points are ignored by quadratcount.ppp
.
To obtain a separate contingency table for each type of point
in a multitype point pattern,
first separate the different points using split.ppp
,
then apply quadratcount.splitppp
. See the Examples.
Stoyan, D. and Stoyan, H. (1994) Fractals, random shapes and point fields: methods of geometrical statistics. John Wiley and Sons.
quadrat.test
,
quadrats
,
quadratresample
,
miplot
X <- runifpoint(50)
quadratcount(X)
quadratcount(X, 4, 5)
quadratcount(X, xbreaks=c(0, 0.3, 1), ybreaks=c(0, 0.4, 0.8, 1))
qX <- quadratcount(X, 4, 5)
# plotting:
plot(X, pch="+")
plot(qX, add=TRUE, col="red", cex=1.5, lty=2)
# irregular window
data(humberside)
plot(humberside)
qH <- quadratcount(humberside, 2, 3)
plot(qH, add=TRUE, col="blue", cex=1.5, lwd=2)
# multitype - split
plot(quadratcount(split(humberside), 2, 3))
# quadrats determined by tessellation:
B <- dirichlet(runifpoint(6))
qX <- quadratcount(X, tess=B)
plot(X, pch="+")
plot(qX, add=TRUE, col="red", cex=1.5, lty=2)
Run the code above in your browser using DataLab