Create a Point Pattern

Creates an object of class "ppp" representing a point pattern dataset in the two-dimensional plane.

ppp(x,y, xrange, yrange, marks)
  ppp(x,y, window, marks)
  ppp(x,y, poly, marks)
  ppp(x,y, mask, marks)
  ppp(x,y, ..., marks)
Vector of $x$ coordinates of data points
Vector of $y$ coordinates of data points
$x$ coordinate limits of enclosing box
$y$ coordinate limits of enclosing box
(optional) vector of mark values
vertices of polygonal boundary of window
logical matrix giving binary image of window
window of observation, an object of class "owin"
arguments passed to owin to create the window

In the spatstat library, a point pattern dataset is described by an object of class "ppp". This function creates such objects.

The vectors x and y must be numeric vectors of equal length. They are interpreted as the cartesian coordinates of the points in the pattern.

A point pattern dataset is assumed to have been observed within a specific region of the plane called the observation window. An object of class "ppp" representing a point pattern contains information specifying the observation window. This window must always be specified when creating a point pattern dataset; there is intentionally no default action of ``guessing'' the window dimensions from the data points alone.

You can specify the observation window in several (mutually exclusive) ways:

  • xrange, yrangespecify a rectangle with these dimensions;
  • polyspecifies a polygonal boundary. If the boundary is a single polygon thenpolymust be a list with componentsx,ygiving the coordinates of the vertices. If the boundary consists of several disjoint polygons thenpolymust be a list of such lists so thatpoly[[i]]$xgives the$x$coordinates of the vertices of the$i$th boundary polygon.
  • maskspecifies a binary pixel image with entries that areTRUEif the corresponding pixel is inside the window.
  • windowis an object of class"owin"(seeowin.object) specifying the window.
The arguments xrange, yrange or poly or mask are passed to the window creator function owin for interpretation. See owin for further details.

The argument window, if given, must be an object of class "owin". It is a full description of the window geometry, and could have been obtained from owin or as.owin, or by just extracting the observation window of another point pattern, or by manipulating such windows. See owin or the Examples below.

The optional argument marks is given if the point pattern is marked, i.e. if each data point carries additional information. For example, points which are classified into two or more different types, or colours, may be regarded as having a mark which identifies which colour they are. Data recording the locations and heights of trees in a forest can be regarded as a marked point pattern where the mark is the tree height.

In the current implementation, marks must be a vector, of the same length as x and y, which is interpreted so that marks[i] is the mark attached to the point (x[i],y[i]). If the mark is a real number then marks should be a numeric vector, while if the mark takes only a finite number of possible values (e.g. colours or types) then marks should be a factor. See ppp.object for a description of the class "ppp".

Users would normally invoke ppp to create a point pattern, but the functions as.ppp and scanpp may sometimes be convenient.


  • An object of class "ppp" describing a point pattern in the two-dimensional plane (see ppp.object).


ppp(x,y, ..., window, marks)

See Also

ppp.object, as.ppp, owin.object, owin, as.owin

  • ppp
# some arbitrary coordinates in [0,1]
  x <- runif(20)
  y <- runif(20)

  # the following are equivalent
  X <- ppp(x, y, c(0,1), c(0,1))
  X <- ppp(x, y)
  X <- ppp(x, y, window=owin(c(0,1),c(0,1)))


  # marks
  m <- sample(1:2, 20, replace=TRUE)
  m <- factor(m, levels=1:2)
  X <- ppp(x, y, c(0,1), c(0,1), marks=m)

  # polygonal window
  X <- ppp(x, y, poly=list(x=c(0,10,0), y=c(0,0,10)))

  # copy the window from another pattern
  X <- ppp(x, y, window=cells$window)
Documentation reproduced from package spatstat, version 1.6-2, License: GPL version 2 or newer

Community examples

Looks like there are no examples yet.