Learn R Programming

spatstat (version 1.20-2)

as.psp: Convert Data To Class psp

Description

Tries to coerce any reasonable kind of data to a line segment pattern (an object of class "psp") for use by the spatstat package.

Usage

as.psp(x, ..., from=NULL, to=NULL)
  ## S3 method for class 'psp':
as.psp(x, \dots, check=spatstat.options("checksegments"), fatal=TRUE)
  ## S3 method for class 'data.frame':
as.psp(x, \dots, window=NULL, marks=NULL, check=spatstat.options("checksegments"), fatal=TRUE)
  ## S3 method for class 'matrix':
as.psp(x, \dots, window=NULL, marks=NULL, check=spatstat.options("checksegments"),
fatal=TRUE)
  ## S3 method for class 'owin':
as.psp(x, \dots, check=spatstat.options("checksegments"), fatal=TRUE)
  ## S3 method for class 'default':
as.psp(x, \dots, window=NULL, marks=NULL,
check=spatstat.options("checksegments"), fatal=TRUE)

Arguments

x
Data which will be converted into a line segment pattern
window
Data which define a window for the pattern when x does not contain a window
...
Ignored.
marks
(Optional) vector of marks for the pattern
check
Logical value indicating whether to check the validity of the data, e.g. to check that the line segments lie inside the window.
fatal
Logical value. See Details.
from,to
Point patterns (object of class "ppp") containing the first and second endpoints (respectively) of each segment. Incompatible with x.

Value

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

Details

Converts the dataset x to a line segment pattern (an object of class "psp"; see psp.object for an overview).

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

The dataset x may be:

  • an object of class"psp"
  • a data frame with columns namedx0, y0, x1, y1that will be interpreted as the coordinates of the endpoints of the segments.
  • a data frame or matrix with exactly 4 columns that will be interpreted as the coordinatesx0, y0, x1, y1of the endpoints of the segments
  • a data frame with columns namedxmid, ymid, length, anglethat will be interpreted as the coordinates of the segment midpoints, the lengths of the segments, and the orientations of the segments in radians
  • a structure with elements namedx0, y0, x1, y1or elements namedxmid, ymid, length, anglewhich will be interpreted as above.
  • an object of class"owin"representing a spatial window; it must be of type"rectangle"or"polygonal". The boundary edges of the window will be extracted as a line segment pattern.
If the argument marks is missing or NULL, then x may also be:
  • a data frame with columns namedx0, y0, x1, y1, marks
  • a data frame or matrix with exactly 5 columns; the first 4 columns will be interpreted as the coordinatesx0, y0, x1, y1of the endpoints of the segments, and the last column will be interpreted as the marks.
  • a structure with elements namedx0, y0, x1, y1, markswhich will be interpreted as above.

Alternatively, you may specify two point patterns from and to containing the first and second endpoints of the line segments. The argument window is converted to a window object by the function as.owin.

The argument fatal indicates what to do when the data cannot be converted to a line segment pattern. If fatal=TRUE, a fatal error will be generated; if fatal=FALSE, the value NULL is returned.

The function as.psp is generic, with methods for the classes "psp", "data.frame", "matrix" and a default method. Point pattern datasets can also be created by the function psp.

See Also

psp, psp.object, as.owin, owin.object

Examples

Run this code
mat <- matrix(runif(40), ncol=4)
   a <- as.psp(mat, window=owin())
   stuff <- list(xmid=runif(10),
                 ymid=runif(10),
                 length=rep(0.1, 10),
                 angle=runif(10, 0, 2 * pi))
   a <- as.psp(stuff, window=owin())
   b <- as.psp(from=runifpoint(10), to=runifpoint(10))

Run the code above in your browser using DataLab