ppp.object {spatstat}R Documentation

Class of Point Patterns


A class "ppp" to represent a two-dimensional point pattern. Includes information about the window in which the pattern was observed. Optionally includes marks.


This class represents a two-dimensional point pattern dataset. It specifies

If X is an object of type ppp, it contains the following elements:
x vector of x coordinates of data points
y vector of y coordinates of data points
n number of points
window window of observation
(an object of class owin)
marks optional vector of marks

Users are strongly advised not to manipulate these entries directly.

Objects of class "ppp" may be created by the function ppp and converted from other types of data by the function as.ppp. Note that you must always specify the window of observation; there is intentionally no default action of ``guessing'' the window dimensions from the data points alone.

Standard point pattern datasets provided with the package include amacrine, betacells, bramblecanes, cells, demopat, ganglia, lansing, longleaf, nztrees, redwood, simdat and swedishpines. Use data(xxx) to access the dataset xxx.

Point patterns may be scanned from your own data files by scanpp or by using read.table and as.ppp.

They may be manipulated by the functions subset.ppp, [.ppp and superimpose.

Point pattern objects can be plotted just by typing plot(X) which invokes the plot method for point pattern objects, plot.ppp. See plot.ppp for further information.

There are also methods for summary and print for point patterns. Use summary(X) to see a useful description of the data.

Patterns may be generated at random by runifpoint, rpoispp, rMaternI, rMaternII, rSSI, rNeymanScott, rMatClust, and rThomas.

Most functions which are intended to operate on a window (of class owin) will, if presented with a ppp object instead, automatically extract the window information from the point pattern.


The internal representation of marks is likely to change in the next release of this package.


Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner r.turner@auckland.ac.nz

See Also

owin, ppp, as.ppp, [.ppp


  x <- runif(100)
  y <- runif(100)
  X <- ppp(x, y, c(0,1),c(0,1))
  ## Not run: plot(X)
  mar <- sample(1:3, 100, replace=TRUE)
  mm <- ppp(x, y, c(0,1), c(0,1), marks=mar)
  ## Not run: plot(mm)
  # points with mark equal to 2
  ss <- mm[ mm$marks == 2 , ]
  ## Not run: plot(ss)
  # left half of pattern 'mm'
  lu <- owin(c(0,0.5),c(0,1))
  mmleft <- mm[ , lu]
  ## Not run: plot(mmleft)
  ## Not run: 
  # input data from file
  qq <- scanpp("my.table", unit.square())

  # interactively build a point pattern
  X <- as.ppp(locator(10), unit.square())
  ## End(Not run)

[Package spatstat version 1.15-1 Index]