Last chance! 50% off unlimited learning
Sale ends in
Divides window into quadrats and counts the numbers of points in each quadrat.
quadratcount(X, ...) # S3 method for ppp
quadratcount(X, nx=5, ny=nx, ...,
xbreaks=NULL, ybreaks=NULL, tess=NULL)
# S3 method for splitppp
quadratcount(X, ...)
The value of 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 "solist"
which has
print and plot methods.
A point pattern (object of class "ppp"
)
or a split point pattern (object of class "splitppp"
).
Numbers of rectangular quadrats in the xbreaks
and ybreaks
.
Additional arguments passed to quadratcount.ppp
.
Numeric vector giving the nx
.
Numeric vector giving the ny
.
Tessellation (object of class "tess"
or something acceptable
to as.tess
) determining the quadrats. Incompatible
with nx,ny,xbreaks,ybreaks
.
If Q
is a quadratcount
object,
the ordering of entries in the table Q
may be different from the ordering of quadrats (tiles
in the tessellation as.tess(Q)
).
To obtain the entries of the table in the same order
as the quadrats, use
counts <- as.numeric(t(Q))
or counts <- marks(as.tess(Q))
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner rolfturner@posteo.net
Quadrat counting is an elementary technique for analysing spatial point patterns. See Diggle (2003).
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 nx+1
values equally spaced
over the range of Window(X)
.
Similarly if ybreaks
is given, it should be a numeric
vector giving the ny+1
values
equally spaced over the range 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.
To perform a chi-squared test based on the quadrat counts,
use quadrat.test
.
To calculate an estimate of intensity based on the quadrat counts,
use intensity.quadratcount
.
To extract the quadrats used in a quadratcount
object,
use as.tess
.
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.
Diggle, P.J. Statistical analysis of spatial point patterns. Academic Press, 2003.
Stoyan, D. and Stoyan, H. (1994) Fractals, random shapes and point fields: methods of geometrical statistics. John Wiley and Sons.
plot.quadratcount
,
intensity.quadratcount
,
quadrats
,
quadrat.test
,
tess
,
hextess
,
quadratresample
,
miplot
X <- runifrect(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
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(runifrect(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