# ppp.object

##### Class of Point Patterns

A class `"ppp"`

to represent a two-dimensional point
pattern. Includes information about the window in which the
pattern was observed. Optionally includes marks.

##### Details

This class represents a two-dimensional point pattern dataset. It specifies

- the locations of the points
- the window in which the pattern was observed
- optionally, a ``mark'' attached to each point (extra information such as a type label).

`X`

is an object of type `ppp`

,
it contains the following elements:
`x`

vector of $x$ coordinates of data points
`y`

vector of $y$ coordinates of data points
`n`

number of points
`window`

window of observation
(an object of class `owin`

)
`marks`

optional vector of marks
}
Users are strongly advised not to manipulate these entries
directly.
Objects of class `"ppp"`

may be created by the function
`ppp`

and converted from other types of data by the function
`as.ppp`

.
Note that you must always specify the window of observation;
there is intentionally no default action of ``guessing'' the window
dimensions from the data points alone. Standard point pattern datasets provided with the package
include
`amacrine`

,
`betacells`

,
`bramblecanes`

,
`cells`

,
`demopat`

,
`ganglia`

,
`lansing`

,
`longleaf`

,
`nztrees`

,
`redwood`

,
`simdat`

and
`swedishpines`

.
Use `data(xxx)`

to access the dataset `xxx`

.
Point patterns may be scanned from your own data files by
`scanpp`

or by using `read.table`

and
`as.ppp`

.
They may be manipulated by the functions
`subset.ppp`

,
`[.ppp`

and
`superimpose`

.

Point pattern objects can be plotted just by typing `plot(X)`

which invokes the `plot`

method for point pattern objects,
`plot.ppp`

. See `plot.ppp`

for further information.

There are also methods for `summary`

and `print`

for point patterns. Use `summary(X)`

to see a useful description
of the data.
Patterns may be generated at random by
`runifpoint`

,
`rpoispp`

,
`rMaternI`

,
`rMaternII`

,
`rSSI`

,
`rNeymanScott`

,
`rMatClust`

,
and
`rThomas`

.

Most functions which are intended to operate on a window
(of class `owin`

)
will, if presented with a `ppp`

object instead,
automatically extract the window information from the point pattern.

##### Warnings

The internal representation of marks is likely to change in the next release of this package.

##### See Also

##### Examples

```
x <- runif(100)
y <- runif(100)
X <- ppp(x, y, c(0,1),c(0,1))
X
plot(X)
mar <- sample(1:3, 100, replace=TRUE)
mm <- ppp(x, y, c(0,1), c(0,1), marks=mar)
plot(mm)
# points with mark equal to 2
ss <- mm[ mm$marks == 2 , ]
plot(ss)
# left half of pattern 'mm'
lu <- owin(c(0,0.5),c(0,1))
mmleft <- mm[ , lu]
plot(mmleft)
# input data from file
qq <- scanpp("my.table", unit.square())
# interactively build a point pattern
plot(unit.square())
X <- as.ppp(locator(10), unit.square())
plot(X)
```

*Documentation reproduced from package spatstat, version 1.9-3, License: GPL version 2 or newer*