# weightedMad: Weighted Median Absolute Deviation (MAD) In matrixStats: Functions that Apply to Rows and Columns of Matrices (and to Vectors)

## Description

Computes a weighted MAD of a numeric vector.

## Usage

 ```1 2 3 4 5 6 7 8``` ```weightedMad(x, w = NULL, idxs = NULL, na.rm = FALSE, constant = 1.4826, center = NULL, ...) rowWeightedMads(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE, constant = 1.4826, center = NULL, ...) colWeightedMads(x, w = NULL, rows = NULL, cols = NULL, 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. `idxs, rows, cols` A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done. `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 efficiency). `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.

## Examples

 ``` 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)) ```

### Example output

```
```

matrixStats documentation built on Feb. 11, 2018, 3:12 p.m.