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