spatstat (version 1.64-1)

as.ppp: Convert Data To Class ppp


Tries to coerce any reasonable kind of data to a spatial point pattern (an object of class "ppp") for use by the spatstat package).


as.ppp(X, …, fatal=TRUE)

# S3 method for ppp as.ppp(X, …, fatal=TRUE)

# S3 method for psp as.ppp(X, …, fatal=TRUE)

# S3 method for quad as.ppp(X, …, fatal=TRUE)

# S3 method for matrix as.ppp(X, W=NULL, …, fatal=TRUE)

# S3 method for data.frame as.ppp(X, W=NULL, …, fatal=TRUE)

# S3 method for influence.ppm as.ppp(X, …)

# S3 method for default as.ppp(X, W=NULL, …, fatal=TRUE)



Data which will be converted into a point pattern


Data which define a window for the pattern, when X does not contain a window. (Ignored if X contains window information.)



Logical value specifying what to do if the data cannot be converted. See Details.


An object of class "ppp" (see ppp.object) describing the point pattern and its window of observation. The value NULL may also be returned; see Details.


Converts the dataset X to a point pattern (an object of class "ppp"; see ppp.object for an overview).

This function is normally used to convert an existing point pattern dataset, stored in another format, to the "ppp" format. To create a new point pattern from raw data such as \(x,y\) coordinates, it is normally easier to use the creator function ppp.

The function as.ppp is generic, with methods for the classes "ppp", "psp", "quad", "matrix", "data.frame" and a default method.

The dataset X may be:

  • an object of class "ppp"

  • an object of class "psp"

  • a point pattern object created by the spatial library

  • an object of class "quad" representing a quadrature scheme (see quad.object)

  • a matrix or data frame with at least two columns

  • a structure with entries x, y which are numeric vectors of equal length

  • a numeric vector of length 2, interpreted as the coordinates of a single point.

In the last three cases, we need the second argument W which is converted to a window object by the function as.owin. In the first four cases, W will be ignored.

If X is a line segment pattern (an object of class psp) the point pattern returned consists of the endpoints of the segments. If X is marked then the point pattern returned will also be marked, the mark associated with a point being the mark of the segment of which that point was an endpoint.

If X is a matrix or data frame, the first and second columns will be interpreted as the \(x\) and \(y\) coordinates respectively. Any additional columns will be interpreted as marks.

The argument fatal indicates what to do when W is missing and X contains no information about the window. If fatal=TRUE, a fatal error will be generated; if fatal=FALSE, the value NULL is returned.

In the spatial library, a point pattern is represented in either of the following formats:

  • (in spatial versions 1 to 6) a structure with entries x, y xl, xu, yl, yu

  • (in spatial version 7) a structure with entries x, y and area, where area is a structure with entries xl, xu, yl, yu

where x and y are vectors of equal length giving the point coordinates, and xl, xu, yl, yu are numbers giving the dimensions of a rectangular window.

Point pattern datasets can also be created by the function ppp.

See Also

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


 xy <- matrix(runif(40), ncol=2)
 pp <- as.ppp(xy, c(0,1,0,1))

 # Venables-Ripley format
 # check for 'spatial' package
 spatialpath <- system.file(package="spatial")
 if(nchar(spatialpath) > 0) {
   towns <- ppinit("towns.dat")
   pp <- as.ppp(towns) # converted to our format

 xyzt <- matrix(runif(40), ncol=4)
 Z <- as.ppp(xyzt, square(1))
# }