Calculates the mean absolute deviation from a center point, typically the sample mean or the median. %% ~~ A concise (1-5 lines) description of what the function does. ~~
MeanAD(x, weights = NULL, center = Mean, na.rm = FALSE)
a vector containing the observations. %% ~~Describe x
here~~
a numerical vector of weights the same length as x
giving the weights to use for elements of x
.
a single numerical value or the name of a function applied to x
to be used
as center. Can as well be a self defined function. Default is
Mean()
.
a logical value indicating whether or not missing values should
be removed. Defaults to FALSE
.
Numeric value.
The MeanAD
function calculates the mean absolute deviation from the mean
value (or from another supplied center point) of x, after having removed
NA
values (if requested): $$\frac{1}{n} \cdot \sum_{i=1}^{n}\left
| x_{i}-c \right | \; \; \; \textup{where} \; c=mean(x) \; \textup{or} \;
c=med(x)$$
The function
supports the use of weights. The default function for the center value
Mean()
has a weights arguments, too. If a user defined
function is used it must be assured that it has a weights argument.
x <- runif(100)
MeanAD(x)
#> [1] 0.2307437
speed <- c(58, 88, 40, 60, 72, 66, 80, 48, NA)
MeanAD(speed)
#> [1] NA
MeanAD(speed, na.rm=TRUE)
#> [1] 12.5
# using the median as centerpoint
x <- c(2,3,5,3,1,15,23)
MeanAD(x, center=mean)
#> [1] 6.612245
MeanAD(x, center=median)
#> [1] 5.285714
# define a fixed center
MeanAD(x, center=4)
#> [1] 5.428571
# use of weights
MeanAD(x=0:6, weights=c(21,46,54,40,24,10,5))
#> [1] 1.1825