# update.ppm

##### Update a Fitted Point Process Model

`update`

method for class `"ppm"`

.

##### Usage

```
## S3 method for class 'ppm':
update(object, \dots, fixdummy=TRUE)
```

##### Arguments

##### Details

This is a method for the generic function `update`

for the class `"ppm"`

. An object of class `"ppm"`

describes a fitted point process model. See `ppm.object`

)
for details of this class.

`update.ppm`

will modify the point process model
specified by `object`

according to the new arguments given,
then re-fit it.
The actual re-fitting is performed by the model-fitting
function `ppm`

.

If you are comparing several model fits to the same data,
or fits of the same model to different data, it is
strongly advisable to use `update.ppm`

rather than trying to fit them by hand.
This is because `update.ppm`

re-fits the model
in a way which is comparable to the original fit.

The arguments `...`

are matched to the formal arguments
of `ppm`

as follows.

First, all the *named* arguments in `...`

are matched
with the formal arguments of `ppm`

.
Use `name=NULL`

to remove the argument `name`

from the
call.

Second, any *unnamed* arguments in `...`

are
matched with formal arguments of `ppm`

if the matching
is obvious from the class of the object. Thus `...`

may contain

- exactly one argument of class
`"ppp"`

or`"quad"`

, which will be interpreted as the named argument`Q`

; - exactly one argument of class
`"formula"`

, which will be interpreted as the named argument`trend`

; - exactly one argument of class
`"interact"`

, which will be interpreted as the named argument`interaction`

; - exactly one argument of class
`"data.frame"`

, which will be interpreted as the named argument`covariates`

.

When `fixdummy=FALSE`

, calling `update.ppm`

is exactly the same as calling `ppm`

with the updated
arguments. However, the original and updated models
are not strictly comparable (for example, their pseudolikelihoods
are not strictly comparable) unless they used the same set of dummy
points for the quadrature scheme. Setting `fixdummy=TRUE`

ensures that the re-fitting will be performed using the same set
of dummy points. This is highly recommended.

##### Value

- Another fitted point process model (object of class
`"ppm"`

).

##### Examples

```
data(nztrees)
data(cells)
# fit the stationary Poisson process
fit <- ppm(nztrees, ~ 1)
# fit a nonstationary Poisson process
fitP <- update(fit, trend=~x)
fitP <- update(fit, ~x)
# fit a stationary Strauss process
fitS <- update(fit, interaction=Strauss(13))
fitS <- update(fit, Strauss(13))
# oops, forgot the edge correction
fitS <- update(fitS, rbord=13)
# re-fit the model to a subset
# of the original point pattern
nzw <- owin(c(0,148),c(0,95))
nzsub <- nztrees[,nzw]
fut <- update(fitS, Q=nzsub)
fut <- update(fitS, nzsub)
# WARNING: the point pattern argument is called 'Q'
```

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