# weightedMad: Weighted Median Absolute Deviation (MAD) In matrixStats: Methods that apply to rows and columns of a matrix

## Description

Computes a weighted MAD of a numeric vector.

## Usage

 ```1 2``` ```## Default S3 method: weightedMad(x, w, na.rm=FALSE, constant=1.4826, center=NULL, ...) ```

## Arguments

 `x` a `numeric` `vector` containing the values whose weighted MAD is to be computed. `w` a vector of weights the same length as `x` giving the weights to use for each element of `x`. Negative weights are treated as zero weights. Default value is equal weight to all values. `na.rm` a logical value indicating whether `NA` values in `x` should be stripped before the computation proceeds, or not. If `NA`, no check at all for `NA`s is done. Default value is `NA` (for effiency). `constant` A `numeric` scale factor, cf. `mad`. `center` Optional `numeric` scalar specifying the center location of the data. If `NULL`, it is estimated from data. `...` Not used.

## Value

Returns a `numeric` scalar.

## Missing values

Missing values are dropped at the very beginning, if argument `na.rm` is `TRUE`, otherwise not.

## Author(s)

Henrik Bengtsson

For the non-weighted MAD, see `mad`. Internally `weightedMedian`() is used to calculate the weighted median.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26``` ```x <- 1:10 n <- length(x) m1 <- mad(x) m2 <- weightedMad(x) stopifnot(identical(m1, m2)) w <- rep(1, times=n) m1 <- weightedMad(x, w) stopifnot(identical(m1,m2)) # All weight on the first value w[1] <- Inf m <- weightedMad(x, w) stopifnot(m == 0) # All weight on the first two values w[1:2] <- Inf m1 <- mad(x[1:2]) m2 <- weightedMad(x, w) stopifnot(identical(m1,m2)) # All weights set to zero w <- rep(0, times=n) m <- weightedMad(x, w) stopifnot(is.na(m)) ```