# mppm

##### Fit Point Process Model to Several Point Patterns

Fits a Gibbs point process model to several point patterns simultaneously.

##### Usage

```
mppm(formula, data, interaction=Poisson(), ...,
iformula=NULL,
use.gam = FALSE)
```

##### Arguments

- formula
- A formula describing the systematic part of the model.
Variables in the formula are names of columns in
`data`

. - data
- A hyperframe (object of class
`"hyperframe"`

, see`hyperframe`

) containing the point pattern responses and the explanatory variables. - interaction
- Interpoint interaction(s) appearing in the model.
Either an object of class
`"interact"`

describing the point process interaction structure, or a hyperframe (with the same number of rows as`data`

) whose entries are o - ...
- Arguments passed to
`ppm`

controlling the fitting procedure. - iformula
- Optional. A formula (with no left hand side)
describing the interaction to be applied to each case.
Each variable name in the formula should either be the name of a column
in the hyperframe
`interaction`

, or the name of a column - use.gam
- Logical flag indicating whether to fit the model
using
`gam`

or`glm`

.

##### Details

This function fits a common point process model to a dataset
containing several different point patterns.
It extends the capabilities of the function `ppm`

to deal with data such as

- replicated observations of spatial point patterns
- two groups of spatial point patterns
- a designed experiment in which the response from each unit is a point pattern.

`lm`

and
`glm`

. The first argument `formula`

is an Rformula
describing the systematic part of the model. The second argument
`data`

contains the responses and the explanatory variables.
Other arguments determine the stochastic structure of the model. Schematically,
the data are regarded as the results of a designed experiment
involving $n$ experimental units. Each unit has a
*the response from each unit is a point pattern*.
The value of a particular covariate for each unit can be
either a single value (numerical, logical or factor),
or a spatial covariate.
A `mppm`

, a spatial covariate must be stored
as a pixel image (object of class `"im"`

) which gives the values
of the covariate at a fine grid of locations.

The argument `data`

is a hyperframe (a generalisation of
a data frame, see `hyperframe`

). This is like a data frame
except that the entries can be objects of any class.
The hyperframe has one row for each experimental unit,
and one column for each variable (response or explanatory variable).

The `formula`

should be an Rformula.
The left hand side of `formula`

determines the `data`

.

The right hand side of `formula`

determines the
spatial trend of the model. It specifies the linear predictor,
and effectively represents the **logarithm**
of the spatial trend.
Variables in the formula must be the names of columns of
`data`

, or one of the reserved names
[object Object],[object Object],[object Object]

The column of responses in `data`

must consist of point patterns (objects of class `"ppp"`

).
The individual point pattern responses
can be defined in different spatial windows.
If some of the point patterns are marked, then they must all be
marked, and must have the same type of marks.

The scope of models that can be fitted to each pattern is the same as the
scope of `ppm`

, that is, Gibbs point processes with
interaction terms that belong to a specified list, including
for example the Poisson process, Strauss process, Geyer's saturation
model, and piecewise constant pairwise interaction models.
The stochastic part of the model is determined by
the arguments `interaction`

and (optionally) `iformula`

.

- In the simplest case,
`interaction`

is an object of class`"interact"`

, determining the interpoint interaction structure of the point process model, for all experimental units. - Alternatively,
`interaction`

may be a hyperframe, whose entries are objects of class`"interact"`

. It should have the same number of rows as`data`

.- If
`interaction`

consists of only one column, then the entry in row`i`

is taken to be the interpoint interaction for the`i`

th experimental unit (corresponding to the`i`

th row of`data`

). - If
`interaction`

has more than one column, then the argument`iformula`

is also required. Each row of`interaction`

determines several interpoint interaction structures that might be applied to the corresponding row of`data`

. The choice of interaction is determined by`iformula`

; this should be anRformula, without a left hand side. For example if`interaction`

has two columns called`A`

and`B`

then`iformula = ~B`

indicates that the interpoint interactions are taken from the second column.

- If

`iformula`

typically refer to column names of `interaction`

.
They can also be names of columns in
`data`

, but only for columns of numeric, logical or factor
values. For example `iformula = ~B * group`

(where `group`

is a column of `data`

that contains a factor) causes the
model with interpoint interaction `B`

to be fitted
with different interaction parameters for each level of `group`

.
##### Value

- An object of class
`"mppm"`

representing the fitted model.There are methods for

`print`

,`summary`

and`coef`

for this class.

##### References

Baddeley, A. and Turner, R.
Practical maximum pseudolikelihood for spatial point patterns.
*Australian and New Zealand Journal of Statistics*
**42** (2000) 283--322.
Baddeley, A., Bischof, L., Sintorn, I.-M., Haggarty, S.,
Bell, M. and Turner, R.
Analysis of a designed experiment where the response is a spatial
point pattern. In preparation.

##### See Also

##### Examples

```
# Waterstriders data
data(waterstriders)
H <- hyperframe(Y = waterstriders)
mppm(Y ~ 1, data=H)
mppm(Y ~ 1, data=H, Strauss(7))
mppm(Y ~ id, data=H)
mppm(Y ~ x, data=H)
# Synthetic data from known model
n <- 10
H <- hyperframe(V=1:n,
U=runif(n, min=-1, max=1),
M=factor(letters[1 + (1:n) %% 3]))
H$Z <- setcov(square(1))
H$U <- with(H, as.im(U, as.rectangle(Z)))
H$Y <- with(H, rpoispp(eval.im(exp(2+3*Z)), win=as.rectangle(Z)))
fit <- mppm(Y ~Z + U + V, data=H)
```

*Documentation reproduced from package spatstat, version 1.37-0, License: GPL (>= 2)*