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 then- polymust be a list with components- x,ygiving the coordinates of the vertices.
    If the boundary consists of several disjoint polygons
    then- polymust be a list of such lists
    so that- poly[[i]]$xgives the$x$coordinates
    of the vertices of the$i$th boundary polygon.
- maskspecifies a binary pixel image with entries
    that are- TRUEif the corresponding pixel is inside
    the window.
- windowis an object of class- "owin"(see- owin.object) specifying the window.
The argumentsxrange, 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.