Performs the Dao and Genton (2014) adjusted goodness-of-fit test of spatial pattern.

```
dg.test(X, …,
exponent = 2, nsim=19, nsimsub=nsim-1,
alternative=c("two.sided", "less", "greater"),
reuse = TRUE, leaveout=1, interpolate = FALSE,
savefuns=FALSE, savepatterns=FALSE,
verbose = TRUE)
```

X

Either a point pattern dataset (object of class `"ppp"`

,
`"lpp"`

or `"pp3"`

) or a fitted point process model
(object of class `"ppm"`

, `"kppm"`

, `"lppm"`

or `"slrm"`

).

…

exponent

Exponent used in the test statistic. Use `exponent=2`

for the Diggle-Cressie-Loosmore-Ford test, and `exponent=Inf`

for the Maximum Absolute Deviation test.

nsim

Number of repetitions of the basic test.

nsimsub

Number of simulations in each basic test. There will be `nsim`

repetitions of the basic test, each involving `nsimsub`

simulated
realisations, so there will be a total
of `nsim * (nsimsub + 1)`

simulations.

alternative

Character string specifying the alternative hypothesis.
The default (`alternative="two.sided"`

) is that the
true value of the summary function is not equal to the theoretical
value postulated under the null hypothesis.
If `alternative="less"`

the alternative hypothesis is that the
true value of the summary function is lower than the theoretical value.

reuse

Logical value indicating whether to re-use the first stage simulations at the second stage, as described by Dao and Genton (2014).

leaveout

Optional integer 0, 1 or 2 indicating how to calculate the deviation between the observed summary function and the nominal reference value, when the reference value must be estimated by simulation. See Details.

interpolate

Logical value indicating whether to interpolate the distribution of the test statistic by kernel smoothing, as described in Dao and Genton (2014, Section 5).

savefuns

Logical flag indicating whether to save the simulated function values (from the first stage).

savepatterns

Logical flag indicating whether to save the simulated point patterns (from the first stage).

verbose

Logical value indicating whether to print progress reports.

A hypothesis test (object of class `"htest"`

which can be printed to show the outcome of the test.

Performs the Dao-Genton (2014) adjusted Monte Carlo goodness-of-fit test, in the equivalent form described by Baddeley et al (2014).

If `X`

is a point pattern, the null hypothesis is CSR.

If `X`

is a fitted model, the null hypothesis is that model.

The argument `use.theory`

passed to `envelope`

determines whether to compare the summary function for the data
to its theoretical value for CSR (`use.theory=TRUE`

)
or to the sample mean of simulations from CSR
(`use.theory=FALSE`

).

The argument `leaveout`

specifies how to calculate the
discrepancy between the summary function for the data and the
nominal reference value, when the reference value must be estimated
by simulation. The values `leaveout=0`

and
`leaveout=1`

are both algebraically equivalent (Baddeley et al, 2014,
Appendix) to computing the difference `observed - reference`

where the `reference`

is the mean of simulated values.
The value `leaveout=2`

gives the leave-two-out discrepancy
proposed by Dao and Genton (2014).

The Dao-Genton test is biased when the significance level is very small
(small \(p\)-values are not reliable) and
we recommend `bits.test`

in this case.

Dao, N.A. and Genton, M. (2014)
A Monte Carlo adjusted goodness-of-fit test for
parametric models describing spatial point patterns.
*Journal of Graphical and Computational Statistics*
**23**, 497--517.

Baddeley, A., Diggle, P.J., Hardegen, A., Lawrence, T., Milne,
R.K. and Nair, G. (2014) On tests of spatial pattern based on
simulation envelopes. *Ecological Monographs* **84** (3) 477--489.

Baddeley, A., Hardegen, A., Lawrence, L.,
Milne, R.K., Nair, G.M. and Rakshit, S. (2017)
On two-stage Monte Carlo tests of composite hypotheses.
*Computational Statistics and Data Analysis*, in press.

# NOT RUN { ns <- if(interactive()) 19 else 4 dg.test(cells, nsim=ns) dg.test(cells, alternative="less", nsim=ns) dg.test(cells, nsim=ns, interpolate=TRUE) # }