The functions compute the sum or mean of all pairwise absolute
differences. This differs from `stats::mad()`

, which computes
the median absolute difference of each value from the median of
all the values. See the `ISIwithR`

package (and the textbook it
accompanies) for examples using these functions in the context of
simulation-based inference.

```
MAD(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE))
SAD(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE))
```

## Arguments

- x
a numeric vector or a formula.

- ...
additional arguments passed through to `MAD_`

or `SAD_`

. If `x`

is a formula, `...`

should
include an argument named `data`

if the intent is to
interpret the formula in a data frame.

- data
a data frame in which to evaluate formulas (or bare names).
Note that the default is `data = parent.frame()`

. This makes it convenient to
use this function interactively by treating the working environment as if it were
a data frame. But this may not be appropriate for programming uses.
When programming, it is best to use an explicit `data`

argument
-- ideally supplying a data frame that contains the variables mentioned.

- groups
a grouping variable, typically a name of a variable in `data`

- na.rm
a logical indicating whether NAs should be removed before
calculating.

## Value

the mean or sum of the absolute differences between each pair
of values in `c(x,...)`

.

## Examples

```
SAD(1:3)
#> [1] 4
MAD(1:3)
#> [1] 1.333333
MAD(~eruptions, data = faithful)
#> [1] 171.5886
```