# dip

##### Compute Hartigan's Dip Test Statistic for Unimodality

Computes Hartigan's dip test statistic for testing unimodality, and additionally the modal interval.

- Keywords
- distribution, htest

##### Usage

`dip(x, full.result = FALSE, debug = FALSE)`

##### Arguments

- x
- numeric; the data.
- full.result
- logical; if
`TRUE`

returns the full result list, see below. - debug
- logical; if true, some tracing information is printed (from the C routine).

##### Value

- depending on
`full.result`

either a number, the dip statistic, or a list with components x the sorted `unname()`

d data.n `length(x)`

.dip the dip statistic lo.hi indices into `x`

for lower and higher end of modal intervalxl, xu lower and upper end of modal interval gcm, lcm (last used) indices for **g**reatest**c**onvex**m**inorant and the**l**east**c**oncave**m**ajorant.mn, mj index vectors of length `n`

for the GC minorant and the LC majorant respectively.

##### Note

For $n \le 3$ where `n <- length(x)`

, the dip
statistic is always zero, i.e., there's no possible dip test.

Yong Lu

##### References

P. M. Hartigan (1985)
Computation of the Dip Statistic to Test for Unimodality;
*Applied Statistics (JRSS C)* **34**, 320--325.

J. A. Hartigan and P. M. Hartigan (1985)
The Dip Test of Unimodality;
*Annals of Statistics* **13**, 70--84.

##### See Also

`isoreg`

for isotonic regression.

##### Examples

```
data(statfaculty)
plot(density(statfaculty))
dip(statfaculty)
str(dip(statfaculty, full = TRUE, debug = TRUE))
data(faithful)
fE <- faithful$eruptions
plot(density(fE))
str(dip(fE, full = TRUE, debug = TRUE))
data(precip)
plot(density(precip))
str(dip(precip, full = TRUE, debug = TRUE))
```

*Documentation reproduced from package diptest, version 0.25-0, License: GPL version 2 or later*