# dg.test

##### Dao-Genton Adjusted Goodness-Of-Fit Test

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

##### Usage

```
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)
```

##### Arguments

- 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"`

).- …
Arguments passed to

`dclf.test`

or`mad.test`

or`envelope`

to control the conduct of the test. Useful arguments include`fun`

to determine the summary function,`rinterval`

to determine the range of \(r\) values used in the test,`verbose=FALSE`

to turn off the messages, and`use.theory`

described under Details.- 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.

##### Details

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

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).

##### Value

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

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

##### References

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., Hardegen, A., Lawrence, L., Milne, R.K., Nair, G.M. and Rakshit, S. (2015) Pushing the envelope: extensions of graphical Monte Carlo tests. Submitted for publication.

##### See Also

##### Examples

```
# 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)
# }
```

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