# colWeightedMads: Weighted Median Absolute Deviation (MAD) In DelayedMatrixStats: Functions that Apply to Rows and Columns of 'DelayedMatrix' Objects

## Description

Computes a weighted MAD of a numeric vector.

## Usage

 ``` 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47``` ```colWeightedMads( x, w = NULL, rows = NULL, cols = 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, ... ) ## S4 method for signature 'DelayedMatrix' colWeightedMads( x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE, constant = 1.4826, center = NULL, force_block_processing = FALSE, ... ) ## S4 method for signature 'DelayedMatrix' rowWeightedMads( x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE, constant = 1.4826, center = NULL, force_block_processing = FALSE, ... ) ```

## Arguments

 `x` A NxK DelayedMatrix. `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. `rows` A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done. `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. `...` Additional arguments passed to specific methods. `force_block_processing` `FALSE` (the default) means that a seed-aware, optimised method is used (if available). This can be overridden to use the general block-processing strategy by setting this to `TRUE` (typically not advised). The block-processing strategy loads one or more (depending on `\link[DelayedArray]{getAutoBlockSize}()`) columns (`colFoo()`) or rows (`rowFoo()`) into memory as an ordinary base::array.

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

Peter Hickey

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``` ```# A DelayedMatrix with a 'matrix' seed dm_matrix <- DelayedArray(matrix(c(rep(1L, 5), as.integer((0:4) ^ 2), seq(-5L, -1L, 1L)), ncol = 3)) colWeightedMads(dm_matrix, w = 1:5) rowWeightedMads(dm_matrix, w = 3:1) ```