"psp")
for use by the as.psp(x, ..., from=NULL, to=NULL)
## S3 method for class 'psp':
as.psp(x, \dots, check=FALSE, 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)x does not contain a window"ppp")
containing the first and second endpoints (respectively) of each
segment. Incompatible with x."psp" (see psp.object)
describing the line segment pattern and its window of observation.
The value NULL may also be returned; see Details.x0,y0,x1,y1 or
xmid,ymid,length,angle appear amongst the names of the
columns of x where x is a data frame, then these
special names are ignored.For example if the names of the columns were
xmid,ymid,length,degrees, then these columns would be
interpreted as if the represented x0,y0,x1,y1 in that order.
Whether it gets used or not, column named marks is
always removed from x before any attempt to form the
ends component of the psp object that is returned.
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:
"psp"x0, y0,
x1, y1or elements namedxmid, ymid, length, angleand possibly a fifth element namedmarks"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.x is a data frame the interpretation of its columns is
as follows:
x0, y0, x1, y1then these
will be interpreted as the coordinates of the endpoints of
the segments and used to form theendscomponent of
thepspobject to be returned.xmid, ymid, length, anglethen these will be interpreted as the coordinates of the segment
midpoints, the lengths of the segments, and the orientations
of the segments in radians and used to form theendscomponent of thepspobject to be returned.marksthen this will
be interpreted as the marks of the pattern provided that
the argumentmarksof this function isNULL.
If argumentmarksis notNULLthen the value
of this argument is taken to be the marks of the pattern and
the column namedmarksis ignored (with a warning).
In either case the column named marks is deleted and omitted
from further consideration.marksand if themarksargument of this function isNULL, and if after
interpreting 4 columns ofxas determining theendscomponent of thepspobject to be returned, there remain
other columns ofx, then these remaining columns will be
taken to form a data frame of marks for thepspobject
to be returned. If x is a structure (list) with elements named x0,
y0, x1, y1, marks or xmid, ymid, length, angle, marks,
then the element named marks will be interpreted as the
marks of the pattern provide that the argument marks of
this function is NULL. If this argument is non-NULL
then it is interpreted as the marks of the pattern and the element
marks of x is ignored --- with a warning.
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.
psp,
psp.object,
as.owin,
owin.objectmat <- matrix(runif(40), ncol=4)
mx <- data.frame(v1=sample(1:4,10,TRUE),
v2=factor(sample(letters[1:4],10,TRUE),levels=letters[1:4]))
a <- as.psp(mat, window=owin(),marks=mx)
mat <- cbind(as.data.frame(mat),mx)
b <- as.psp(mat, window=owin()) # a and b are identical.
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