weightedMad {matrixStats} | R Documentation |
Weighted Median Absolute Deviation (MAD)
Description
Computes a weighted MAD of a numeric vector.
Usage
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, ..., useNames = TRUE)
colWeightedMads(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
constant = 1.4826, center = NULL, ..., useNames = TRUE)
Arguments
x |
|
w |
a vector of weights the same length as |
idxs |
A |
na.rm |
If |
constant |
|
center |
Optional |
... |
Not used. |
rows |
A |
cols |
A |
useNames |
If |
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
See Also
For the non-weighted MAD, see mad
. Internally
weightedMedian
() is used to calculate the weighted median.
Examples
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))