colWeightedMads,dgCMatrix-method {sparseMatrixStats} | R Documentation

## Calculates the weighted median absolute deviation for each row (column) of a matrix-like object

### Description

Calculates the weighted median absolute deviation for each row (column) of a matrix-like object.

### Usage

    ## S4 method for signature 'dgCMatrix'
    colWeightedMads(
      x,
      w = NULL,
      rows = NULL,
      cols = NULL,
      na.rm = FALSE,
      constant = 1.4826,
      center = NULL,
      useNames = NA
    )

    ## S4 method for signature 'dgCMatrix'
    rowWeightedMads(
      x,
      w = NULL,
      rows = NULL,
      cols = NULL,
      na.rm = FALSE,
      constant = 1.4826,
      center = NULL,
      useNames = NA
    )

### Arguments

`x` | An NxK matrix-like object.
`w` | A `numeric` vector of length K (N) that specifies by how much each element is weighted.
`rows` | A `vector` indicating the subset of rows (and/or columns) to operate over. If `NULL`, no subsetting is done.
`cols` | A `vector` indicating the subset of rows (and/or columns) to operate over. If `NULL`, no subsetting is done.
`na.rm` | If `TRUE`, `NA`s are excluded first, otherwise not.
`constant` | A scale factor. See `stats::mad()` for details.
`center` | Not supported at the moment.
`useNames` | If `NA`, the default behavior of the function about naming support is remained. If `FALSE`, no naming support is done. Else if `TRUE`, names attributes of result are set.

### Details

The S4 methods for `x` of type `matrix`, `array`, or `numeric` call `matrixStats::rowWeightedMads` / `matrixStats::colWeightedMads`.

### Value

Returns a `numeric` `vector` of length N (K).

### See Also

- `matrixStats::rowWeightedMads()` and `matrixStats::colWeightedMads()` which are used when the input is a `matrix` or `numeric` vector.

- See also rowMads for the corresponding unweighted function.

### Examples

      mat <- matrix(0, nrow=10, ncol=5)
      mat[sample(prod(dim(mat)), 25)] <- rpois(n=25, 5)
      sp_mat <- as(mat, "dgCMatrix")
      weights <- rnorm(10, mean=1, sd=0.1)

      # sparse version
      sparseMatrixStats::colWeightedMads(sp_mat, weights)

      # Attention the result differs from matrixStats
      # because it always uses 'interpolate=FALSE'.
      matrixStats::colWeightedMads(mat, weights)

[Package sparseMatrixStats version 1.6.0 Index]